Compare commits

..

No commits in common. "af3c14b250e3a242c51e01a642049e511ae4cdc0" and "4bc443ccae3aefcf1a33e7f047c19483e5f53a33" have entirely different histories.

4 changed files with 16 additions and 11 deletions

View File

@ -410,6 +410,7 @@ def test_peer_canceller(
'''
async def main():
async with tractor.open_nursery(
# NOTE: to halt the peer tasks on ctxc, uncomment this.
debug_mode=debug_mode,
) as an:
canceller: Portal = await an.start_actor(

View File

@ -238,8 +238,7 @@ def enable_stack_on_sig(
import stackscope
except ImportError:
log.error(
'`stackscope` not installed for use in debug mode!\n'
'`Ignoring {enable_stack_on_sig!r} call!\n'
'`stackscope` not installed for use in debug mode!'
)
return None

View File

@ -143,7 +143,7 @@ async def maybe_wait_on_canced_subs(
log.cancel(
'Waiting on cancel request to peer..\n'
f'c)=>\n'
f' |_{chan.aid}\n'
f' |_{chan.uid}\n'
)
# XXX: this is a soft wait on the channel (and its
@ -156,7 +156,7 @@ async def maybe_wait_on_canced_subs(
# local runtime here is now cancelled while
# (presumably) in the middle of msg loop processing.
chan_info: str = (
f'{chan.aid}\n'
f'{chan.uid}\n'
f'|_{chan}\n'
f' |_{chan.transport}\n\n'
)
@ -279,7 +279,7 @@ async def maybe_wait_on_canced_subs(
log.runtime(
f'Peer IPC broke but subproc is alive?\n\n'
f'<=x {chan.aid}@{chan.raddr}\n'
f'<=x {chan.uid}@{chan.raddr}\n'
f' |_{proc}\n'
)
@ -460,7 +460,7 @@ async def handle_stream_from_peer(
# drop ref to channel so it can be gc-ed and disconnected
con_teardown_status: str = (
f'IPC channel disconnected:\n'
f'<=x uid: {chan.aid}\n'
f'<=x uid: {chan.uid}\n'
f' |_{pformat(chan)}\n\n'
)
chans.remove(chan)
@ -468,7 +468,7 @@ async def handle_stream_from_peer(
# TODO: do we need to be this pedantic?
if not chans:
con_teardown_status += (
f'-> No more channels with {chan.aid}'
f'-> No more channels with {chan.uid}'
)
server._peers.pop(uid, None)
@ -519,7 +519,7 @@ async def handle_stream_from_peer(
and
(ctx_in_debug := pdb_lock.ctx_in_debug)
and
(pdb_user_uid := ctx_in_debug.chan.aid)
(pdb_user_uid := ctx_in_debug.chan.uid)
):
entry: tuple|None = local_nursery._children.get(
tuple(pdb_user_uid)

View File

@ -40,7 +40,7 @@ from typing import (
import trio
from tractor._state import current_actor
from tractor.log import get_logger
from ._beg import collapse_eg
# from ._beg import collapse_eg
if TYPE_CHECKING:
@ -151,8 +151,13 @@ async def gather_contexts(
)
async with (
collapse_eg(),
trio.open_nursery() as tn,
# collapse_eg(),
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:
tn.start_soon(