Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ public T poll() {
// we have to null out the value because we are going to hang on to the node
final T nextValue = nextNode.getAndNullValue();
spConsumerNode(nextNode);
// unlink previous consumer to help gc
currConsumerNode.soNext(null);
return nextValue;
}
else if (currConsumerNode != lvProducerNode()) {
Expand All @@ -101,6 +103,8 @@ else if (currConsumerNode != lvProducerNode()) {
// we have to null out the value because we are going to hang on to the node
final T nextValue = nextNode.getAndNullValue();
spConsumerNode(nextNode);
// unlink previous consumer to help gc
currConsumerNode.soNext(null);
return nextValue;
}
return null;
Expand Down
Loading