ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/jsr166y/LinkedTransferQueue.java
(Generate patch)

Comparing jsr166/src/jsr166y/LinkedTransferQueue.java (file contents):
Revision 1.76 by jsr166, Wed Sep 1 22:49:09 2010 UTC vs.
Revision 1.78 by dl, Thu Sep 9 16:52:49 2010 UTC

# Line 877 | Line 877 | public class LinkedTransferQueue<E> exte
877      }
878  
879      /**
880 <     * Unlinks matched nodes encountered in a traversal from head.
880 >     * Unlinks matched (typically cancelled) nodes encountered in a
881 >     * traversal from head.
882       */
883      private void sweep() {
884          for (Node p = head, s, n; p != null && (s = p.next) != null; ) {
# Line 885 | Line 886 | public class LinkedTransferQueue<E> exte
886                  p = head;
887              else if (!s.isMatched())
888                  p = s;
889 <            else if ((n = s.next) == null) // trailing node is pinned
889 >            else if ((n = s.next) == null || s == n) // trailing node is pinned
890                  break;
891              else
892                  p.casNext(s, n);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines