ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166y/ForkJoinWorkerThread.java
(Generate patch)

Comparing jsr166/src/jsr166y/ForkJoinWorkerThread.java (file contents):
Revision 1.53 by dl, Sun Oct 24 19:37:26 2010 UTC vs.
Revision 1.55 by dl, Wed Nov 17 15:36:39 2010 UTC

# Line 940 | Line 940 | public class ForkJoinWorkerThread extend
940          UNSAFE.putOrderedObject(this, currentJoinOffset, joinMe);
941          if (isTerminating())                // cancel if shutting down
942              joinMe.cancelIgnoringExceptions();
943 <        else {
944 <            if (sp != base)
945 <                localHelpJoinTask(joinMe);
946 <            if (joinMe.status >= 0)
947 <                pool.awaitJoin(joinMe, this, timed, nanos);
948 <        }
943 >        else
944 >            pool.awaitJoin(joinMe, this, timed, nanos);
945          UNSAFE.putOrderedObject(this, currentJoinOffset, prevJoin);
946      }
947  
948      /**
949       * Run tasks in local queue until given task is done.
950 +     * Not currently used because it complicates semantics.
951       *
952       * @param joinMe the task to join
953       */
# Line 1015 | Line 1012 | public class ForkJoinWorkerThread extend
1012                  for (int j = 0; ; ++j) {      // search array
1013                      if (j < n) {
1014                          ForkJoinTask<?> vs;
1015 <                        if ((v = ws[j]) != null &&
1015 >                        if ((v = ws[j]) != null && v != this &&
1016                              (vs = v.currentSteal) != null) {
1017                              if (joinMe.status < 0 || task.status < 0)
1018                                  return;       // stale or done

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines