--- jsr166/src/jsr166y/ForkJoinPool.java 2011/03/04 13:29:39 1.95 +++ jsr166/src/jsr166y/ForkJoinPool.java 2011/03/07 14:10:48 1.96 @@ -714,7 +714,7 @@ public class ForkJoinPool extends Abstra */ private boolean scan(ForkJoinWorkerThread w, int a) { int g = scanGuard; // mask 0 avoids useless scans if only one active - int m = parallelism == 1 - a? 0 : g & SMASK; + int m = (parallelism == 1 - a && blockedCount == 0) ? 0 : g & SMASK; ForkJoinWorkerThread[] ws = workers; if (ws == null || ws.length <= m) // staleness check return false;