diff options
author | David Daney <ddaney@avtrex.com> | 2007-02-16 21:23:10 +0000 |
---|---|---|
committer | David Daney <daney@gcc.gnu.org> | 2007-02-16 21:23:10 +0000 |
commit | 599b39ce9dcaba10e1c53934e50cca5f671a7f6e (patch) | |
tree | 295acd745105a2a979167a2ab8599425ebc13058 /libjava/java/lang/PosixProcess.java | |
parent | d16c4b1a166ea5413487d3935c385ee82f560e81 (diff) | |
download | gcc-599b39ce9dcaba10e1c53934e50cca5f671a7f6e.zip gcc-599b39ce9dcaba10e1c53934e50cca5f671a7f6e.tar.gz gcc-599b39ce9dcaba10e1c53934e50cca5f671a7f6e.tar.bz2 |
Thread.java (Thread(ThreadGroup, Runnable, String)): Pass new parameter constructor.
* java/lang/Thread.java (Thread(ThreadGroup, Runnable, String)): Pass
new parameter constructor.
(Thread(ThreadGroup, Runnable, String, long)): Same.
(Thread(String, boolean)): New constructor.
(Thread(Thread, ThreadGroup, Runnable, String): Add parameter
noInheritableThreadLocal, don't call
InheritableThreadLocal.newChildThread if set.
* java/lang/PosixProcess.java(ProcessManager()): Set
noInheritableThreadLocal in super.
* java/lang/natThread.cc (_Jv_AttachCurrentThread): Pass new
parameter to Thread constructor.
(_Jv_AttachCurrentThreadAsDaemon): Same.
* java/lang/Thread.h: Regenerate.
* classpath/lib/java/lang/Thread.class: Same.
* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Same.
* classpath/lib/java/lang/PosixProcess.class: Same.
* classpath/lib/java/lang/Thread$State.class: Same.
* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.
From-SVN: r122054
Diffstat (limited to 'libjava/java/lang/PosixProcess.java')
-rw-r--r-- | libjava/java/lang/PosixProcess.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libjava/java/lang/PosixProcess.java b/libjava/java/lang/PosixProcess.java index 23e1da9..517e6f3 100644 --- a/libjava/java/lang/PosixProcess.java +++ b/libjava/java/lang/PosixProcess.java @@ -42,7 +42,12 @@ final class PosixProcess extends Process ProcessManager() { - super("ProcessManager"); + // Use package private Thread constructor to place us in the + // root ThreadGroup with no InheritableThreadLocal. If the + // InheritableThreadLocals were allowed to initialize, they could + // cause a Runtime.exec() to be called causing infinite + // recursion. + super("ProcessManager", true); // Don't keep the (main) process from exiting on our account. this.setDaemon(true); } |