153 |
|
* single int to minimize footprint and to ensure atomicity (via |
154 |
|
* CAS). Status is initially zero, and takes on nonnegative |
155 |
|
* values until completed, upon which status holds value |
156 |
< |
* NORMAL. CANCELLED, or EXCEPTIONAL. Tasks undergoing blocking |
156 |
> |
* NORMAL, CANCELLED, or EXCEPTIONAL. Tasks undergoing blocking |
157 |
|
* waits by other threads have the SIGNAL bit set. Completion of |
158 |
|
* a stolen task with SIGNAL set awakens any waiters via |
159 |
|
* notifyAll. Even though suboptimal for some purposes, we use |
206 |
|
|
207 |
|
/** |
208 |
|
* Records exception and sets exceptional completion. |
209 |
< |
* |
209 |
> |
* |
210 |
|
* @return status on exit |
211 |
|
*/ |
212 |
|
private void setExceptionalCompletion(Throwable rex) { |