diff --git a/tractor/_context.py b/tractor/_context.py index 9495654..027f15f 100644 --- a/tractor/_context.py +++ b/tractor/_context.py @@ -1902,7 +1902,7 @@ class Context: try: log.runtime( - f'Delivering msg from IPC ctx:\n' + f'Delivering msg from IPC ctx:\n\n' f'<= {from_uid}\n' f' |_ {nsf}()\n\n' diff --git a/tractor/_streaming.py b/tractor/_streaming.py index ac4d482..16e32ce 100644 --- a/tractor/_streaming.py +++ b/tractor/_streaming.py @@ -377,14 +377,17 @@ class MsgStream(trio.abc.Channel): # await rx_chan.aclose() if not self._eoc: - log.cancel( - 'Stream closed by self before it received an EoC?\n' - 'Setting eoc manually..\n..' - ) - self._eoc: bool = trio.EndOfChannel( - f'Context stream closed by self({self._ctx.side})\n' + message: str = ( + f'Context stream closed by {self._ctx.side!r}\n' f'|_{self}\n' ) + log.cancel( + 'Stream self-closed before receiving EoC\n\n' + + + message + ) + self._eoc = trio.EndOfChannel(message) + # ?XXX WAIT, why do we not close the local mem chan `._rx_chan` XXX? # => NO, DEFINITELY NOT! <= # if we're a bi-dir ``MsgStream`` BECAUSE this same