Andrew Hundt
e494cee91a
fix(leak): unhang stack_overflow + lang_contract fork tests under leaks --atExit
...
tests/test_stack_overflow.c and tests/test_lang_contract.c each have a fork()
helper that runs cbm_extract_file on pathological input in a child process (to
verify no-crash), then bare-waitpids with waitpid(pid, &status, 0). Under
`leaks --atExit` (macOS) the forked child is SIGSTOP'd during heap inspection
and the bare waitpid never returns — the identical hang class already fixed in
b336466 (test_store_bulk.c, src/foundation/compat_fs.c) and 148b4d7
(test_dump_verify_io.c).
Replace the bare waitpid with the WUNTRACED+SIGCONT loop used elsewhere in the
suite (kill(child, SIGCONT) on WIFSTOPPED so leaks can finish and the child
proceeds to _exit), and add #include <signal.h> for kill() in both files. The
helpers keep their existing `return WIFSIGNALED(status)` contract.
Signed-off-by: Andrew Hundt <ATHundt@gmail.com >
2026-06-24 17:30:04 -04:00
..
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-03-22 18:33:10 -05:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-06-22 14:46:29 -07:00
2026-06-05 21:53:25 +02:00
2026-06-22 22:03:37 +02:00
2026-04-01 23:22:44 +02:00
2026-06-07 18:29:05 +02:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-06-14 20:12:04 +00:00
2026-03-22 23:51:34 -04:00
2026-06-23 23:46:24 +02:00
2026-06-24 17:03:07 -04:00
2026-06-23 06:38:45 +09:00
2026-03-25 09:28:11 +01:00
2026-06-07 13:00:55 +02:00
2026-06-07 13:00:55 +02:00
2026-06-23 03:59:45 +00:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-06-22 19:56:46 -04:00
2026-05-31 17:22:02 +02:00
2026-06-05 21:53:25 +02:00
2026-06-22 23:51:49 +02:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-06-12 02:17:39 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-06-08 22:55:23 +02:00
2026-06-12 02:17:39 +02:00
2026-03-24 23:48:23 +01:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-06-12 02:17:25 +02:00
2026-04-01 23:22:44 +02:00
2026-06-22 23:28:03 +02:00
2026-06-22 22:04:31 +02:00
2026-04-11 01:46:14 -04:00
2026-06-22 22:05:18 +02:00
2026-06-02 18:52:37 +02:00
2026-06-02 18:52:37 +02:00
2026-06-03 01:33:25 +02:00
2026-06-24 17:30:04 -04:00
2026-06-12 02:17:39 +02:00
2026-06-06 22:30:38 +02:00
2026-06-07 14:16:36 +02:00
2026-03-15 22:37:34 +01:00
2026-06-24 16:12:00 -04:00
2026-06-08 22:55:23 +02:00
2026-06-07 18:29:05 +02:00
2026-06-24 16:12:00 -04:00
2026-06-05 21:53:25 +02:00
2026-06-12 02:17:39 +02:00
2026-03-22 03:09:11 -04:00
2026-06-16 13:26:25 +03:00
2026-06-06 22:30:38 +02:00
2026-05-29 04:20:20 +02:00
2026-05-09 16:05:45 +02:00
2026-06-24 16:12:00 -04:00
2026-05-30 20:15:30 +02:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-05-31 03:14:17 +02:00
2026-06-22 22:04:06 +02:00
2026-06-23 13:52:08 -03:00
2026-06-03 02:13:30 +02:00
2026-05-08 22:26:56 +02:00
2026-06-24 03:15:36 +02:00
2026-05-10 20:43:45 +02:00
2026-06-05 21:53:25 +02:00
2026-06-10 16:42:20 +02:00
2026-06-24 17:30:04 -04:00
2026-06-24 16:12:00 -04:00
2026-04-11 09:22:23 -04:00
2026-05-29 03:37:56 +02:00
2026-03-24 23:48:23 +01:00
2026-06-24 16:12:00 -04:00
2026-05-29 03:37:56 +02:00
2026-06-24 16:12:00 -04:00
2026-03-24 23:48:23 +01:00
2026-03-25 09:47:59 +01:00
2026-03-26 01:59:37 -04:00
2026-04-11 21:48:20 -04:00
2026-03-24 23:48:23 +01:00
2026-06-12 10:51:11 +02:00
2026-06-10 12:11:02 +02:00
2026-04-01 23:22:44 +02:00
2026-04-09 23:15:10 -04:00
2026-06-05 21:53:25 +02:00
2026-06-24 16:12:00 -04:00
2026-06-06 19:48:48 +02:00
2026-04-10 20:09:37 -04:00
2026-04-15 23:56:03 +02:00