Andrew John Hughes wrote: > This patch puts a bit more into thread state handling.
I apologize for being blunt, but this patch is unacceptable. It doesn't cover all cases, it's incorrect and inefficient. I really think it's best to leave determining the thread state up to VMThread, except of course that there still needs to be support for threads that don't yet (or no longer) have a VMThread. Below is a patch that shows what I think getState should look like. Regards, Jeroen Index: java/lang/Thread.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/lang/Thread.java,v retrieving revision 1.26 diff -u -r1.26 Thread.java --- java/lang/Thread.java 27 Jun 2006 21:57:29 -0000 1.26 +++ java/lang/Thread.java 29 Jun 2006 08:30:11 -0000 @@ -1239,7 +1239,11 @@ public String getState() { VMThread t = vmThread; - return t == null ? null : t.getState(); + if (t != null) + return t.getState(); + if (group == null) + return "TERMINATED"; + return "NEW"; } /**