A couple more loose-egs flag flips
Namely inside, - `ActorNursery.open_portal()` which uses `.trionics.maybe_open_nursery()` and is now adjusted to pass-through `**kwargs` for at least this flag. - inside the `.trionics.gather_contexts()`.py313_support
parent
9c18a083a5
commit
b90f3ce781
|
@ -533,6 +533,10 @@ async def open_portal(
|
||||||
async with maybe_open_nursery(
|
async with maybe_open_nursery(
|
||||||
tn,
|
tn,
|
||||||
shield=shield,
|
shield=shield,
|
||||||
|
strict_exception_groups=False,
|
||||||
|
# ^XXX^ TODO? soo roll our own then ??
|
||||||
|
# -> since we kinda want the "if only one `.exception` then
|
||||||
|
# just raise that" interface?
|
||||||
) as tn:
|
) as tn:
|
||||||
|
|
||||||
if not channel.connected():
|
if not channel.connected():
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'''
|
'''
|
||||||
``tokio`` style broadcast channel.
|
`tokio` style broadcast channel.
|
||||||
https://docs.rs/tokio/1.11.0/tokio/sync/broadcast/index.html
|
https://docs.rs/tokio/1.11.0/tokio/sync/broadcast/index.html
|
||||||
|
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -57,6 +57,8 @@ async def maybe_open_nursery(
|
||||||
shield: bool = False,
|
shield: bool = False,
|
||||||
lib: ModuleType = trio,
|
lib: ModuleType = trio,
|
||||||
|
|
||||||
|
**kwargs, # proxy thru
|
||||||
|
|
||||||
) -> AsyncGenerator[trio.Nursery, Any]:
|
) -> AsyncGenerator[trio.Nursery, Any]:
|
||||||
'''
|
'''
|
||||||
Create a new nursery if None provided.
|
Create a new nursery if None provided.
|
||||||
|
@ -67,7 +69,7 @@ async def maybe_open_nursery(
|
||||||
if nursery is not None:
|
if nursery is not None:
|
||||||
yield nursery
|
yield nursery
|
||||||
else:
|
else:
|
||||||
async with lib.open_nursery() as nursery:
|
async with lib.open_nursery(**kwargs) as nursery:
|
||||||
nursery.cancel_scope.shield = shield
|
nursery.cancel_scope.shield = shield
|
||||||
yield nursery
|
yield nursery
|
||||||
|
|
||||||
|
@ -143,9 +145,14 @@ async def gather_contexts(
|
||||||
'Use a non-lazy iterator or sequence type intead!'
|
'Use a non-lazy iterator or sequence type intead!'
|
||||||
)
|
)
|
||||||
|
|
||||||
async with trio.open_nursery() as n:
|
async with trio.open_nursery(
|
||||||
|
strict_exception_groups=False,
|
||||||
|
# ^XXX^ TODO? soo roll our own then ??
|
||||||
|
# -> since we kinda want the "if only one `.exception` then
|
||||||
|
# just raise that" interface?
|
||||||
|
) as tn:
|
||||||
for mngr in mngrs:
|
for mngr in mngrs:
|
||||||
n.start_soon(
|
tn.start_soon(
|
||||||
_enter_and_wait,
|
_enter_and_wait,
|
||||||
mngr,
|
mngr,
|
||||||
unwrapped,
|
unwrapped,
|
||||||
|
|
Loading…
Reference in New Issue