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
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
`lib/dev.ml`, three parts: