Some more 3.10+ optional type sigs

proper_breakpoint_hooking
Tyler Goodlet 2023-03-07 17:37:36 -05:00
parent b7341bb81e
commit 19b7f9c71a
1 changed files with 9 additions and 4 deletions

View File

@ -750,8 +750,8 @@ def shield_sigint_handler(
def _set_trace( def _set_trace(
actor: Optional[tractor.Actor] = None, actor: tractor.Actor | None = None,
pdb: Optional[MultiActorPdb] = None, pdb: MultiActorPdb | None = None,
): ):
__tracebackhide__ = True __tracebackhide__ = True
actor = actor or tractor.current_actor() actor = actor or tractor.current_actor()
@ -761,7 +761,11 @@ def _set_trace(
if frame: if frame:
frame = frame.f_back # type: ignore frame = frame.f_back # type: ignore
if frame and pdb and actor is not None: if (
frame
and pdb
and actor is not None
):
log.pdb(f"\nAttaching pdb to actor: {actor.uid}\n") log.pdb(f"\nAttaching pdb to actor: {actor.uid}\n")
# no f!#$&* idea, but when we're in async land # no f!#$&* idea, but when we're in async land
# we need 2x frames up? # we need 2x frames up?
@ -770,7 +774,8 @@ def _set_trace(
else: else:
pdb, undo_sigint = mk_mpdb() pdb, undo_sigint = mk_mpdb()
# we entered the global ``breakpoint()`` built-in from sync code? # we entered the global ``breakpoint()`` built-in from sync
# code?
Lock.local_task_in_debug = 'sync' Lock.local_task_in_debug = 'sync'
pdb.set_trace(frame=frame) pdb.set_trace(frame=frame)