Always set the `parent_exit: trio.Event` on exit
parent
b624ebba21
commit
45a9aaf6e9
|
@ -133,13 +133,13 @@ async def gather_contexts(
|
||||||
# deliver control once all managers have started up
|
# deliver control once all managers have started up
|
||||||
await all_entered.wait()
|
await all_entered.wait()
|
||||||
|
|
||||||
# NOTE: order *should* be preserved in the output values
|
try:
|
||||||
# since ``dict``s are now implicitly ordered.
|
yield tuple(unwrapped.values())
|
||||||
yield tuple(unwrapped.values())
|
finally:
|
||||||
|
# NOTE: this is ABSOLUTELY REQUIRED to avoid
|
||||||
# we don't need a try/finally since cancellation will be triggered
|
# the following wacky bug:
|
||||||
# by the surrounding nursery on error.
|
# <tractorbugurlhere>
|
||||||
parent_exit.set()
|
parent_exit.set()
|
||||||
|
|
||||||
|
|
||||||
# Per actor task caching helpers.
|
# Per actor task caching helpers.
|
||||||
|
|
Loading…
Reference in New Issue