# | Line 373 | Line 373 | public class Phaser { | |
---|---|---|
373 | int nextPhase = (phase + 1) & MAX_PHASE; | |
374 | n |= (long)nextPhase << PHASE_SHIFT; | |
375 | UNSAFE.compareAndSwapLong(this, stateOffset, s, n); | |
376 | + | releaseWaiters(phase); |
377 | } | |
378 | else if (nextUnarrived == 0) { // propagate deregistration | |
379 | phase = parent.doArrive(ONE_DEREGISTER); | |
# | Line 381 | Line 382 | public class Phaser { | |
382 | } | |
383 | else | |
384 | phase = parent.doArrive(ONE_ARRIVAL); | |
384 | – | releaseWaiters(phase); |
385 | } | |
386 | return phase; | |
387 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |