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

Comparing jsr166/src/main/java/util/concurrent/SynchronousQueue.java (file contents):
Revision 1.61 by jsr166, Thu Aug 18 22:39:13 2005 UTC vs.
Revision 1.62 by dl, Fri Aug 19 12:51:29 2005 UTC

# Line 299 | Line 299 | public class SynchronousQueue<E> extends
299               *    with corresponding waiting node, pop both from
300               *    stack, and return matched item. The matching or
301               *    unlinking might not actually be necessary because of
302 <             *    another threads performing action 3:
302 >             *    other threads performing action 3:
303               *
304               * 3. If top of stack already holds another fulfilling node,
305               *    help it out by doing its match and/or pop
# Line 622 | Line 622 | public class SynchronousQueue<E> extends
622              for (;;) {
623                  QNode t = tail;
624                  QNode h = head;
625 <                if (t == null || h == null)         // saw uninitialized values
625 >                if (t == null || h == null)         // saw uninitialized value
626                      continue;                       // spin
627  
628                  if (h == t || t.isData == isData) { // empty or same-mode

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines