tractor/tractor
Tyler Goodlet a4bc5f79ad Always consider the debugger when exiting contexts
When in an uncertain teardown state and in debug mode a context can be
popped from actor runtime before a child finished debugging (the case
when the parent is tearing down but the child hasn't closed/completed
its tty lock IPC exit phase) and the child sends the "stop" message to
unlock the debugger but it's ignored bc the parent has already dropped
the ctx. Instead we call `._debug.maybe_wait_for_deugger()` before these
context removals to avoid the root getting stuck thinking the lock was
never released.

Further, add special `Actor._cancel_task()` handling code inside
`_invoke()` which continues to execute the method despite the IPC
channel to the caller being broken and thus avoiding potential hangs due
to a target (child) actor task remaining alive.
2022-07-27 11:40:03 -04:00
..
experimental Better idea: start a `tractor.experimental` subpkg 2022-01-29 14:03:55 -05:00
testing Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
trionics Type fix 2022-02-15 08:51:25 -05:00
__init__.py Add `tractor.query_actor()` an addr looker-upper 2022-04-13 07:50:42 -04:00
_actor.py Always consider the debugger when exiting contexts 2022-07-27 11:40:03 -04:00
_child.py Support asyncio actors with the trio spawner backend 2021-12-17 09:38:01 -05:00
_clustering.py Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
_debug.py Add note about default behaviour of `fancycompleter` 2022-07-27 11:40:03 -04:00
_discovery.py Fix typing 2022-04-13 08:20:53 -04:00
_entry.py More doc string style tweaks 2021-12-17 09:38:04 -05:00
_exceptions.py Re-wrap and raise `asyncio.CancelledError` 2021-12-17 09:38:04 -05:00
_forkserver_override.py Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
_ipc.py Use `str` | `bytes` union for typing msg dump 2022-07-12 11:59:11 -04:00
_mp_fixup_main.py Avoid importing mp for as long as possible 2022-02-17 11:55:26 -05:00
_portal.py Always consider the debugger when exiting contexts 2022-07-27 11:40:03 -04:00
_root.py TOSQUASH: more loglevel for debug bs 2022-07-27 11:40:02 -04:00
_spawn.py General typing fixes for `mypy` 2022-07-27 11:40:02 -04:00
_state.py Avoid importing mp for as long as possible 2022-02-17 11:55:26 -05:00
_streaming.py Tolerate double `.remove()`s of stream on portal teardowns 2022-07-27 11:40:02 -04:00
_supervise.py Avoid importing mp for as long as possible 2022-02-17 11:55:26 -05:00
log.py Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
msg.py Slight doc string update 2022-01-30 12:21:41 -05:00
to_asyncio.py Log cancels with appropriate level 2022-07-27 11:40:02 -04:00