jdk/src/java.base/share/classes/java/util/concurrent/SubmissionPublisher.java
changeset 36936 bfcdf736a998
parent 35302 e4d2275861c3
child 39723 9aa34e4a0469
equal deleted inserted replaced
36935:9a10a2c4dc13 36936:bfcdf736a998
  1494                             break;
  1494                             break;
  1495                     }
  1495                     }
  1496                     else if (((c & CONSUME) != 0 ||
  1496                     else if (((c & CONSUME) != 0 ||
  1497                               U.compareAndSwapInt(this, CTL, c, c | CONSUME)) &&
  1497                               U.compareAndSwapInt(this, CTL, c, c | CONSUME)) &&
  1498                              U.compareAndSwapObject(a, i, x, null)) {
  1498                              U.compareAndSwapObject(a, i, x, null)) {
  1499                         U.putOrderedInt(this, HEAD, ++h);
  1499                         U.putIntRelease(this, HEAD, ++h);
  1500                         U.getAndAddLong(this, DEMAND, -1L);
  1500                         U.getAndAddLong(this, DEMAND, -1L);
  1501                         if ((w = waiter) != null)
  1501                         if ((w = waiter) != null)
  1502                             signalWaiter(w);
  1502                             signalWaiter(w);
  1503                         try {
  1503                         try {
  1504                             @SuppressWarnings("unchecked") T y = (T) x;
  1504                             @SuppressWarnings("unchecked") T y = (T) x;