Only close recv chan if we get a ref

bistream_backup
Tyler Goodlet 2021-06-10 13:58:06 -04:00
parent 40cb3585c1
commit b3caf846fc
1 changed files with 3 additions and 1 deletions

View File

@ -359,6 +359,7 @@ class Portal:
fn_mod_path, fn_name = func_deats(func) fn_mod_path, fn_name = func_deats(func)
recv_chan: trio.ReceiveMemoryChannel = None
try: try:
cid, recv_chan, functype, first_msg = await self._submit( cid, recv_chan, functype, first_msg = await self._submit(
fn_mod_path, fn_name, kwargs) fn_mod_path, fn_name, kwargs)
@ -390,7 +391,8 @@ class Portal:
await ctx.cancel() await ctx.cancel()
finally: finally:
await recv_chan.aclose() if recv_chan is not None:
await recv_chan.aclose()
@dataclass @dataclass
class LocalPortal: class LocalPortal: