--- jsr166/src/jsr166y/LinkedTransferQueue.java 2007/05/29 09:55:32 1.1 +++ jsr166/src/jsr166y/LinkedTransferQueue.java 2007/07/23 17:39:11 1.2 @@ -585,6 +585,22 @@ public class LinkedTransferQueue exte } } + public boolean isEmpty() { + for (;;) { + QNode h = traversalHead(); + QNode p = h.next; + if (p == null) + return true; + Object x = p.get(); + if (p != x) { + if (!p.isData) + return true; + if (x != null) + return false; + } + } + } + public boolean hasWaitingConsumer() { for (;;) { QNode h = traversalHead();