ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/ForkJoinPool.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/ForkJoinPool.java (file contents):
Revision 1.286 by dl, Mon Oct 5 15:01:30 2015 UTC vs.
Revision 1.287 by dl, Tue Oct 6 11:38:24 2015 UTC

# Line 2394 | Line 2394 | public class ForkJoinPool extends Abstra
2394          if ((rs & STOP) == 0) {
2395              if (!now) {                           // check quiescence
2396                  for (long oldSum = 0L;;) {        // repeat until stable
2397 <                    WorkQueue[] ws; WorkQueue w; int m, b, sp; long c;
2397 >                    WorkQueue[] ws; WorkQueue w; int m, b;
2398                      long checkSum = ctl;
2399                      if ((int)(checkSum >> AC_SHIFT) + (config & SMASK) > 0)
2400                          return 0;                 // still active workers
# Line 2403 | Line 2403 | public class ForkJoinPool extends Abstra
2403                      for (int i = 0; i <= m; ++i) {
2404                          if ((w = ws[i]) != null) {
2405                              checkSum += (b = w.base);
2406 <                            if (w.currentSteal != null || b != w.top) {
2407 <                                if ((sp = (int)(c = ctl)) == 0 ||
2408 <                                    tryRelease(c, ws[m & sp], AC_UNIT))
2406 >                            if (w.currentSteal != null || b != w.top)
2407                                  return 0;         // retry if internal caller
2410                            }
2408                          }
2409                      }
2410                      if (oldSum == (oldSum = checkSum))

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines