Since the last change to my common-end pipeline, one of my buffer blocks has never completed. Let me summarize what works and what doesn't:
Previously worked:
A.LinkTo(B, PropagateCompletion);
B.LinkTo(C, PropagateCompletion);
C.LinkTo(D, PropagateCompletion);
D.Receive();
Does not work any more:
A.LinkTo(B, PropagateCompletion);
C.LinkTo(D, PropagateCompletion);
await A.Completion;
someWriteOnceBlock.Post(B.Count);
B.LinkTo(C, PropagateCompletion);
D.Receive();
If I uncomment the commented line, everything works, but obviously the line is not needed.
Somehow, my BufferBlock B does not reach completion, although the block associated with it ends and its completion is distributed, and the block associated with it receives all buffered elements.
source
share