13 lines
682 B
ReStructuredText
13 lines
682 B
ReStructuredText
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
|
|
<https://github.com/goodboy/tractor/pull/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.
|