aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/Thread.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2006-05-13 02:16:22 +0000
committerTom Tromey <tromey@gcc.gnu.org>2006-05-13 02:16:22 +0000
commit143145daa42382453636fb24b705c673ee812e37 (patch)
tree86bc2116f67a8c7a59e8cb0a7732f0fb34197168 /libjava/java/lang/Thread.java
parenta2038cd64d107fbd9d52d1b3cd57a3933f9b9762 (diff)
downloadgcc-143145daa42382453636fb24b705c673ee812e37.zip
gcc-143145daa42382453636fb24b705c673ee812e37.tar.gz
gcc-143145daa42382453636fb24b705c673ee812e37.tar.bz2
sources.am, [...]: Rebuilt.
* sources.am, Makefile.in: Rebuilt. * java/util/logging/LogManager.java: Removed. * java/util/logging/Logger.java (resetLogger): New method, from Classpath. * java/io/RandomAccessFile.java: Removed. * gnu/java/nio/channels/FileChannelImpl.java (create): New method. (FileChannelImpl): Now private. * java/io/FileInputStream.java: Removed. * java/io/FileOutputStream.java: Removed. * java/security/AccessControlContext.java: Removed. * java/lang/ThreadLocal.java: Removed. * java/lang/InheritableThreadLocal.java: Removed. * java/lang/Thread.java (locals): New field. (getThreadLocals): New method. * java/lang/natThread.cc (finish_): Clear 'locals'. From-SVN: r113735
Diffstat (limited to 'libjava/java/lang/Thread.java')
-rw-r--r--libjava/java/lang/Thread.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java
index fc07f2b..7938498 100644
--- a/libjava/java/lang/Thread.java
+++ b/libjava/java/lang/Thread.java
@@ -1,5 +1,5 @@
/* Thread -- an independent thread of executable code
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation
This file is part of GNU Classpath.
@@ -41,6 +41,8 @@ package java.lang;
import gnu.gcj.RawData;
import gnu.gcj.RawDataManaged;
+import gnu.java.util.WeakIdentityHashMap;
+import java.util.Map;
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
* "The Java Language Specification", ISBN 0-201-63451-1
@@ -125,6 +127,11 @@ public class Thread implements Runnable
/** The context classloader for this Thread. */
private ClassLoader contextClassLoader;
+ /** Thread local storage. Package accessible for use by
+ * InheritableThreadLocal.
+ */
+ WeakIdentityHashMap locals;
+
// This describes the top-most interpreter frame for this thread.
RawData interp_frame;
@@ -914,4 +921,18 @@ public class Thread implements Runnable
private final native void initialize_native();
private final native static String gen_name();
+
+ /**
+ * Returns the map used by ThreadLocal to store the thread local values.
+ */
+ static Map getThreadLocals()
+ {
+ Thread thread = currentThread();
+ Map locals = thread.locals;
+ if (locals == null)
+ {
+ locals = thread.locals = new WeakIdentityHashMap();
+ }
+ return locals;
+ }
}