294 |
|
* @param e the comparison value for checking match |
295 |
|
* @param mode mode |
296 |
|
* @param nanos timeout value |
297 |
< |
* @return matched item, or s if cancelled |
297 |
> |
* @return matched item, or null if cancelled |
298 |
|
*/ |
299 |
|
private E awaitFulfill(Node<E> pred, Node<E> s, E e, |
300 |
|
int mode, long nanos) { |
360 |
|
for (;;) { |
361 |
|
Node<E> h = head.get(); |
362 |
|
Node<E> first = h.next; |
363 |
< |
if (first != null && first.next == first) { // help advance |
363 |
> |
if (first != null && first.get() == first) { // help advance |
364 |
|
advanceHead(h, first); |
365 |
|
continue; |
366 |
|
} |
551 |
|
|
552 |
|
/** |
553 |
|
* Inserts the specified element at the tail of this queue, |
554 |
< |
* waiting up to the specified wait time for the element to be |
555 |
< |
* received by a consumer invoking {@code take} or {@code poll}. |
554 |
> |
* waiting up to the specified wait time if necessary for the |
555 |
> |
* element to be received by a consumer invoking {@code take} or |
556 |
> |
* {@code poll}. |
557 |
|
* |
558 |
|
* @throws NullPointerException if the specified element is null |
559 |
|
*/ |