From 599b39ce9dcaba10e1c53934e50cca5f671a7f6e Mon Sep 17 00:00:00 2001 From: David Daney Date: Fri, 16 Feb 2007 21:23:10 +0000 Subject: 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 --- libjava/java/lang/PosixProcess.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libjava/java/lang/PosixProcess.java') diff --git a/libjava/java/lang/PosixProcess.java b/libjava/java/lang/PosixProcess.java index 23e1da9d698..517e6f33f92 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); } -- cgit v1.2.3