From c9bb12e5911cbe03fafa5765e059c85d0bd76027 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Mon, 14 Sep 2026 08:17:43 +0700 Subject: [PATCH] The two-process daemon took the same signal, and has no test that says so --- docs/handoffs/HANDOFF-emacs-flake.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/handoffs/HANDOFF-emacs-flake.md b/docs/handoffs/HANDOFF-emacs-flake.md index d5b5c35..d636a75 100644 --- a/docs/handoffs/HANDOFF-emacs-flake.md +++ b/docs/handoffs/HANDOFF-emacs-flake.md @@ -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: