--- jsr166/src/jsr166y/ForkJoinPool.java 2013/02/16 20:50:29 1.185 +++ jsr166/src/jsr166y/ForkJoinPool.java 2013/09/16 14:52:48 1.186 @@ -2127,10 +2127,10 @@ public class ForkJoinPool extends Abstra w.runSubtask(t); } } - else if (active) { // decrement active count without queuing + else if (active) { // decrement active count without queuing long nc = (c = ctl) - AC_UNIT; if ((int)(nc >> AC_SHIFT) + (config & SMASK) == 0) - return; // bypass decrement-then-increment + return; // bypass decrement-then-increment if (U.compareAndSwapLong(this, CTL, c, nc)) active = false; }