aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/PosixProcess.java
diff options
context:
space:
mode:
authorDavid Daney <ddaney@avtrex.com>2007-02-16 21:23:10 +0000
committerDavid Daney <daney@gcc.gnu.org>2007-02-16 21:23:10 +0000
commit599b39ce9dcaba10e1c53934e50cca5f671a7f6e (patch)
tree295acd745105a2a979167a2ab8599425ebc13058 /libjava/java/lang/PosixProcess.java
parentd16c4b1a166ea5413487d3935c385ee82f560e81 (diff)
downloadgcc-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.java7
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);
}