tractor/tractor/ipc
Gud Boi bdf0fb0a2e Fix shutdown deadlock on UDS unlink race
Wrap `os.unlink()` in `close_listener()` with a `FileNotFoundError`
guard — under concurrent pytest sessions the sock-file can already be
reaped. Without this the raise aborts `_serve_ipc_eps`'s finally before
`_shutdown.set()`, deadlocking `wait_for_shutdown()` on
`actor.cancel()`.

Also,
- close each endpoint independently in the finally so one raise doesn't
  strand the rest.
- always signal `_shutdown.set()` regardless of remaining ep count.

(this commit msg was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code

(cherry picked from commit 2ee44a6fdd)
2026-06-09 23:07:44 -04:00
..
__init__.py Move concrete `Address`es to each tpt module 2025-07-08 18:05:05 -04:00
_chan.py Mv core mods to `runtime/`, `spawn/`, `discovery/` subpkgs 2026-04-02 17:59:13 -04:00
_fd_share.py Move concrete `Address`es to each tpt module 2025-07-08 18:05:05 -04:00
_linux.py Handle py3.14+ incompats as test skips 2026-06-09 22:53:23 -04:00
_mp_bs.py Fix `SharedMemory` under `subint_forkserver` 2026-06-09 23:06:42 -04:00
_ringbuf.py Add buf_size to RBToken and add sender cancel test, move disable_mantracker to its own _mp_bs module 2025-07-08 12:57:28 -04:00
_server.py Fix shutdown deadlock on UDS unlink race 2026-06-09 23:07:44 -04:00
_shm.py Fix `SharedMemory` under `subint_forkserver` 2026-06-09 23:06:42 -04:00
_tcp.py Use upstream `py-multiaddr` for `._multiaddr` 2026-04-14 19:54:14 -04:00
_transport.py Use upstream `py-multiaddr` for `._multiaddr` 2026-04-14 19:54:14 -04:00
_types.py Factor actor-embedded IPC-tpt-server to `ipc` subsys 2025-07-08 18:05:05 -04:00
_uds.py Fix shutdown deadlock on UDS unlink race 2026-06-09 23:07:44 -04:00