diff --git a/newsfragments/278.bug.rst b/newsfragments/278.bug.rst new file mode 100644 index 0000000..6fef955 --- /dev/null +++ b/newsfragments/278.bug.rst @@ -0,0 +1,12 @@ +Repair inter-actor stream closure semantics to work correctly with +``tractor.trionics.BroadcastReceiver`` task fan out usage. + +A set of previously unknown bugs discovered in `257 +`_ let graceful stream +closure result in hanging consumer tasks that use the broadcast APIs. +This adds better internal closure state tracking to the broadcast +receiver and message stream APIs and in particular ensures that when an +underlying stream/receive-channel (a broadcast receiver is receiving +from) is closed, all consumer tasks waiting on that underlying channel +are woken so they can receive the ``trio.EndOfChannel`` signal and +promptly terminate.