522 |
|
public final int decrementPendingCountUnlessZero() { |
523 |
|
int c; |
524 |
|
do {} while ((c = pending) != 0 && |
525 |
< |
!PENDING.compareAndSet(this, c, c - 1)); |
525 |
> |
!PENDING.weakCompareAndSetVolatile(this, c, c - 1)); |
526 |
|
return c; |
527 |
|
} |
528 |
|
|
555 |
|
return; |
556 |
|
} |
557 |
|
} |
558 |
< |
else if (PENDING.compareAndSet(a, c, c - 1)) |
558 |
> |
else if (PENDING.weakCompareAndSetVolatile(a, c, c - 1)) |
559 |
|
return; |
560 |
|
} |
561 |
|
} |
578 |
|
return; |
579 |
|
} |
580 |
|
} |
581 |
< |
else if (PENDING.compareAndSet(a, c, c - 1)) |
581 |
> |
else if (PENDING.weakCompareAndSetVolatile(a, c, c - 1)) |
582 |
|
return; |
583 |
|
} |
584 |
|
} |
623 |
|
for (int c;;) { |
624 |
|
if ((c = pending) == 0) |
625 |
|
return this; |
626 |
< |
else if (PENDING.compareAndSet(this, c, c - 1)) |
626 |
> |
else if (PENDING.weakCompareAndSetVolatile(this, c, c - 1)) |
627 |
|
return null; |
628 |
|
} |
629 |
|
} |