| 12
 3
 4
 5
 6
 7
 8
 9
 10
 
 | private int doJoin() {int s; Thread t; ForkJoinWorkerThread wt; ForkJoinPool.WorkQueue w;
 
 return (s = status) < 0 ? s :
 ((t = Thread.currentThread()) instanceof ForkJoinWorkerThread) ?
 (w = (wt = (ForkJoinWorkerThread)t).workQueue).
 tryUnpush(this) && (s = doExec()) < 0 ? s :
 wt.pool.awaitJoin(w, this, 0L) :
 externalAwaitDone();
 }
 
 |