From 199ab02a2b67762c5e5866426b32338b2abdd43d Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Sat, 12 Sep 2026 10:57:50 +0700 Subject: [PATCH] Say why the watchdog exits the ordinary way MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It calls exit and not _exit, and the reason is the opposite of what the comment said: the rows that did pass are still in stdout's buffer, and a watchdog that threw them away would tell you less than the hang did. Also observed firing from test_dev, which is blocked on a daemon rather than spinning — the case the reader hang does not cover. --- test/watchdog.ml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/watchdog.ml b/test/watchdog.ml index 99c9040..dbc10b8 100644 --- a/test/watchdog.ml +++ b/test/watchdog.ml @@ -39,6 +39,8 @@ let dying _ = \ turned into a failing run.\n" !label !budget; flush stderr; + (* [exit] rather than [_exit]: the rows that did pass are in stdout's buffer + and a watchdog that threw them away would be worse than the hang. *) exit 2 (* Re-arm the backstop for whatever is left of its budget. One second is the