ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/FutureTask.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/FutureTask.java (file contents):
Revision 1.117 by dl, Fri Jun 17 13:03:45 2016 UTC vs.
Revision 1.118 by jsr166, Sat Sep 10 04:06:51 2016 UTC

# Line 332 | Line 332 | public class FutureTask<V> implements Ru
332      private void finishCompletion() {
333          // assert state > COMPLETING;
334          for (WaitNode q; (q = waiters) != null;) {
335 <            if (WAITERS.weakCompareAndSetVolatile(this, q, null)) {
335 >            if (WAITERS.weakCompareAndSet(this, q, null)) {
336                  for (;;) {
337                      Thread t = q.thread;
338                      if (t != null) {
# Line 394 | Line 394 | public class FutureTask<V> implements Ru
394                  q = new WaitNode();
395              }
396              else if (!queued)
397 <                queued = WAITERS.weakCompareAndSetVolatile(this, q.next = waiters, q);
397 >                queued = WAITERS.weakCompareAndSet(this, q.next = waiters, q);
398              else if (timed) {
399                  final long parkNanos;
400                  if (startTime == 0L) { // first time

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines