--- old/test/java/util/Timer/KillThread.java 2011-11-21 07:09:43.929171732 -0500 +++ new/test/java/util/Timer/KillThread.java 2011-11-21 07:09:42.657171733 -0500 @@ -23,7 +23,7 @@ /* * @test - * @bug 4288198 + * @bug 4288198 6818464 * @summary Killing a Timer thread causes the Timer to fail silently on * subsequent use. */ @@ -31,14 +31,14 @@ import java.util.*; public class KillThread { + static volatile Thread tdThread; public static void main (String[] args) throws Exception { - final Thread[] tdThread = new Thread[1]; Timer t = new Timer(); // Start a mean event that kills the timer thread t.schedule(new TimerTask() { public void run() { - tdThread[0] = Thread.currentThread(); + tdThread = Thread.currentThread(); throw new ThreadDeath(); } }, 0); @@ -47,10 +47,10 @@ try { do { Thread.sleep(100); - } while(tdThread[0] == null); + } while(tdThread == null); } catch(InterruptedException e) { } - tdThread[0].join(); + tdThread.join(); // Try to start another event try {