summaryrefslogtreecommitdiff
path: root/libjava/java/lang/ThreadLocal.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-26 23:14:07 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-26 23:14:07 +0000
commit36b8a2afb2057cf01f2b6b099657e3b206c095de (patch)
treee8da29583e38e3aa8a01bbb42b15fdc7e764bc52 /libjava/java/lang/ThreadLocal.java
parent38cefc4d1275bb0709ffe84d5e3ab58049fb96b4 (diff)
downloadgcc-36b8a2afb2057cf01f2b6b099657e3b206c095de.tar.gz
* java/lang/StrictMath.java: Typo fix.
* java/lang/Math.java: Typo fix. 2003-08-26 Stephen Crawley <crawley@dstc.edu.au> * java/lang/ThreadGroup.java (removeThread): null the 'group' field of the removed Thread. 2003-08-26 Mark Wielaard <mark@klomp.org> Reported by David Holmes <dholmes@dltech.com.au>. * java/lang/InheritableThreadLocal.java (threadMap): Wrap inside Collections.synchronizedMap. * java/lang/ThreadLocal.java (valueMap): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70828 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/ThreadLocal.java')
-rw-r--r--libjava/java/lang/ThreadLocal.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/java/lang/ThreadLocal.java b/libjava/java/lang/ThreadLocal.java
index b5877f51b6a..972565949a8 100644
--- a/libjava/java/lang/ThreadLocal.java
+++ b/libjava/java/lang/ThreadLocal.java
@@ -1,5 +1,5 @@
/* ThreadLocal -- a variable with a unique value per thread
- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.lang;
+import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
@@ -101,7 +102,7 @@ public class ThreadLocal
* <code>set(Thread, Object)</code> and <code>get(Thread)</code> methods
* access it. Package visible for use by InheritableThreadLocal.
*/
- final Map valueMap = new WeakHashMap();
+ final Map valueMap = Collections.synchronizedMap(new WeakHashMap());
/**
* Creates a ThreadLocal object without associating any value to it yet.
@@ -135,7 +136,7 @@ public class ThreadLocal
{
Thread currentThread = Thread.currentThread();
// Note that we don't have to synchronize, as only this thread will
- // ever modify the returned value.
+ // ever modify the returned value and valueMap is a synchronizedMap.
Object value = valueMap.get(currentThread);
if (value == null)
{
@@ -156,7 +157,7 @@ public class ThreadLocal
public void set(Object value)
{
// Note that we don't have to synchronize, as only this thread will
- // ever modify the returned value.
+ // ever modify the returned value and valueMap is a synchronizedMap.
valueMap.put(Thread.currentThread(), value == null ? NULL : value);
}
}