The two-process daemon took the same signal, and has no test that says so

This commit is contained in:
Joseph Ferano 2026-09-14 08:17:43 +07:00
parent f543643d19
commit c9bb12e591

View File

@ -59,6 +59,16 @@ block: eight hit-and-run connections, then a request proving the session is
still there and still knows what it installed. Against the parent of the fix it still there and still knows what it installed. Against the parent of the fix it
fails with `killed by SIGPIPE`. fails with `killed by SIGPIPE`.
**Both transports, and only one of them has a test.** `ignore_sigpipe` is
called from two places and the suite's daemons are all merged, so the check
above covers `merged_setup` and nothing covers `two_process` — which NEXT.md
describes as the escape hatch for a machine that cannot build the compiler
object, so it is live code somewhere. Driven by hand: before the fix a
`--two-process` daemon dies on the *first* hit-and-run connection with status
141 and leaves its socket behind, exactly as the merged one does; after it,
a hundred of them leave it serving and answering `describe`. If that call site
is ever removed, nothing in `dune test` will say so.
## The fix ## The fix
`lib/dev.ml`, three parts: `lib/dev.ml`, three parts: