forked from goodboy/tractor
1
0
Fork 0

Add some comments

bug_in_debug
Tyler Goodlet 2020-10-13 11:59:18 -04:00
parent 573b8fef73
commit 08ff989631
1 changed files with 4 additions and 1 deletions

View File

@ -230,7 +230,7 @@ async def open_nursery() -> typing.AsyncGenerator[ActorNursery, None]:
# after we yield upwards # after we yield upwards
yield anursery yield anursery
log.debug( log.debug(
f"Waiting on subactors {anursery._children}" f"Waiting on subactors {anursery._children} "
"to complete" "to complete"
) )
except BaseException as err: except BaseException as err:
@ -274,6 +274,7 @@ async def open_nursery() -> typing.AsyncGenerator[ActorNursery, None]:
# ria_nursery scope end # ria_nursery scope end
# XXX: do we need a `trio.Cancelled` catch here as well?
except (Exception, trio.MultiError) as err: except (Exception, trio.MultiError) as err:
# If actor-local error was raised while waiting on # If actor-local error was raised while waiting on
# ".run_in_actor()" actors then we also want to cancel all # ".run_in_actor()" actors then we also want to cancel all
@ -295,6 +296,8 @@ async def open_nursery() -> typing.AsyncGenerator[ActorNursery, None]:
if anursery._children: if anursery._children:
with trio.CancelScope(shield=True): with trio.CancelScope(shield=True):
await anursery.cancel() await anursery.cancel()
# use `MultiError` as needed
if len(errors) > 1: if len(errors) > 1:
raise trio.MultiError(tuple(errors.values())) raise trio.MultiError(tuple(errors.values()))
else: else: