940 |
|
UNSAFE.putOrderedObject(this, currentJoinOffset, joinMe); |
941 |
|
if (isTerminating()) // cancel if shutting down |
942 |
|
joinMe.cancelIgnoringExceptions(); |
943 |
< |
else |
943 |
> |
else |
944 |
|
pool.awaitJoin(joinMe, this, timed, nanos); |
945 |
|
UNSAFE.putOrderedObject(this, currentJoinOffset, prevJoin); |
946 |
|
} |
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 |