--- jsr166/src/jsr166y/ForkJoinTask.java 2012/11/26 14:11:54 1.95 +++ jsr166/src/jsr166y/ForkJoinTask.java 2012/12/19 00:02:59 1.96 @@ -978,8 +978,9 @@ public abstract class ForkJoinTask im if (Thread.interrupted()) throw new InterruptedException(); // Messy in part because we measure in nanosecs, but wait in millisecs - int s; long ns, ms; - if ((s = status) >= 0 && (ns = unit.toNanos(timeout)) > 0L) { + int s; long ms; + long ns = unit.toNanos(timeout); + if ((s = status) >= 0 && ns > 0L) { long deadline = System.nanoTime() + ns; ForkJoinPool p = null; ForkJoinPool.WorkQueue w = null;