706 |
|
// ForkJoinTask overrides |
707 |
|
|
708 |
|
/** |
709 |
– |
* Specialized helping for awaitJoin |
710 |
– |
*/ |
711 |
– |
@Override |
712 |
– |
final int awaitJoin(boolean interruptible, boolean ran) { |
713 |
– |
Thread t; ForkJoinWorkerThread wt; |
714 |
– |
ForkJoinPool p; ForkJoinPool.WorkQueue q; int s; |
715 |
– |
if ((t = Thread.currentThread()) instanceof ForkJoinWorkerThread) { |
716 |
– |
p = (wt = (ForkJoinWorkerThread)t).pool; |
717 |
– |
q = wt.workQueue; |
718 |
– |
} |
719 |
– |
else { |
720 |
– |
p = ForkJoinPool.common; |
721 |
– |
q = ForkJoinPool.commonQueue(); |
722 |
– |
} |
723 |
– |
return ((s = (p == null ? 0 : p.helpComplete(this, q))) < 0 ? s : |
724 |
– |
awaitDone(interruptible, 0L, (s == ADJUST) ? p : null)); |
725 |
– |
} |
726 |
– |
|
727 |
– |
/** |
709 |
|
* Supports ForkJoinTask exception propagation. |
710 |
|
*/ |
711 |
|
@Override |