35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
|
|
---
|
||
|
|
model: gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
timestamp: 2026-08-28T04:51:19Z
|
||
|
|
git_ref: fb6d81d3
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
# Raw output - detect child death before parent handshake
|
||
|
|
|
||
|
|
The human asked to continue WireGuard Layer C after child entrypoints
|
||
|
|
learned to consume inherited network namespace capabilities.
|
||
|
|
|
||
|
|
## Generated code
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/spawn/_spawn.py tractor/spawn/_trio.py tests/test_spawning.py`
|
||
|
|
|
||
|
|
Race a spawned child's initial parent handshake against its process
|
||
|
|
wait operation. Return the established channel when the handshake wins;
|
||
|
|
raise `ActorFailure` with the exit status when the process dies first.
|
||
|
|
Use the race in the Trio exec backend instead of waiting indefinitely
|
||
|
|
on `IPCServer.wait_for_peer()`.
|
||
|
|
|
||
|
|
Add deterministic Trio tests for handshake-first, death-first,
|
||
|
|
simultaneous, and waiter-error schedules, controlling readiness with
|
||
|
|
events rather than sleeps. Exercise the full Trio backend with a fake
|
||
|
|
dead process to prove pre-publication event registration and exact
|
||
|
|
failed-startup cleanup.
|
||
|
|
|
||
|
|
## Scope boundary
|
||
|
|
|
||
|
|
This prerequisite prevents pre-connection namespace-entry failures
|
||
|
|
from hanging their parent. Namespace FD transfer itself remains the
|
||
|
|
next commit.
|