Joseph Ferano
d1443808c6
Review follow-ups: the park had the original bug inside it
...
- SA_NODEFER. sigaction without it blocks the handler's own signal for the
whole handler, and here the handler is the park — it never returns. A
hardware SIGSEGV delivered while SIGSEGV is blocked is not handled: the
kernel forces the default action. Fault, park, eval something at the
break loop that faults, daemon gone, exactly the author's session one
level in. Measured both ways; flan_crash_entered is cleared before the
hook so each break-loop fault still gets its line, and the case is pinned
(trap_park ~refault:true), confirmed to fail without the flag.
- Scope the handler to the thread it was armed on. A disposition is per
process and a merged dev session is one process, so this was shadowing
OCaml's SIGSEGV handler — and Stack_overflow — for the daemon's whole
life. Other threads chain to what was installed before. Arming per run
would leave the parked prompt's evaluations unprotected, since those are
program code too; the comment says so. Also makes the per-thread
sigaltstack honest.
- Sweep dyn-view.flan and string-eq.flan, which dev-loop added after the
first sweep. string-eq:46 wanted the aliasing outright: its comment is
about two slices sharing a base pointer.
- A StorageExhausted row for bytes, asserting the retry copies once and
whole rather than re-evaluating its argument.
- Gate the flan_dev_crash_enable declare to dev builds, so this lane adds
no dev-only text to a release module. flan_bytes_dup stays ungated: a
release build really calls it.
- Guard the section for wasm32, which compiles this file and has no
signals.
2026-09-20 23:35:03 +07:00
..
2026-09-19 06:41:57 +07:00
2026-09-20 21:00:22 +07:00
2026-09-20 19:44:34 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 19:52:34 +07:00
2026-09-12 10:47:41 +07:00
2026-09-20 20:10:39 +07:00
2026-09-12 05:32:25 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 10:55:18 +07:00
2026-09-20 23:12:42 +07:00
2026-09-17 20:37:08 +07:00
2026-09-13 22:55:26 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 21:48:08 +07:00
2026-09-20 21:34:14 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 20:17:17 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 23:06:40 +07:00
2026-09-12 23:18:28 +07:00
2026-09-17 19:03:27 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 15:00:15 +07:00
2026-09-20 18:02:59 +07:00
2026-09-14 07:12:27 +07:00
2026-09-20 22:55:11 +07:00
2026-09-18 07:31:25 +07:00
2026-09-20 15:36:13 +07:00
2026-09-20 19:46:57 +07:00
2026-09-20 11:06:14 +07:00
2026-09-12 16:22:58 +07:00
2026-09-17 19:03:27 +07:00
2026-09-20 19:52:34 +07:00
2026-09-20 22:55:11 +07:00
2026-09-20 19:44:34 +07:00
2026-09-17 19:50:29 +07:00
2026-09-20 20:10:39 +07:00
2026-09-13 17:55:00 +07:00
2026-09-20 18:32:01 +07:00
2026-09-13 13:07:25 +07:00
2026-09-13 15:27:31 +07:00
2026-09-14 08:11:35 +07:00
2026-09-20 18:34:52 +07:00
2026-09-13 19:43:18 +07:00
2026-09-20 23:12:42 +07:00
2026-09-18 13:47:42 +07:00
2026-09-18 13:47:42 +07:00
2026-09-13 10:35:20 +07:00
2026-09-19 05:55:48 +07:00
2026-09-19 06:33:28 +07:00
2026-09-20 13:54:07 +07:00
2026-09-20 15:36:27 +07:00
2026-09-19 06:40:53 +07:00
2026-09-19 06:12:41 +07:00
2026-09-19 05:52:47 +07:00
2026-09-20 10:36:05 +07:00
2026-09-19 19:44:56 +07:00
2026-09-19 22:53:16 +07:00
2026-09-20 18:46:48 +07:00
2026-09-19 06:06:44 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 19:30:04 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 09:11:34 +07:00
2026-09-12 14:47:54 +07:00
2026-09-12 11:07:57 +07:00
2026-09-20 23:35:03 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 18:33:05 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-12 22:44:33 +07:00
2026-09-19 05:21:02 +07:00
2026-09-20 23:12:42 +07:00
2026-09-14 07:12:27 +07:00
2026-09-12 11:15:58 +07:00
2026-09-13 15:23:37 +07:00
2026-09-13 14:49:11 +07:00
2026-09-18 12:16:05 +07:00
2026-09-20 23:12:42 +07:00
2026-09-19 04:24:52 +07:00
2026-09-19 21:13:03 +07:00
2026-09-19 05:21:02 +07:00
2026-09-20 20:17:17 +07:00
2026-09-19 21:59:11 +07:00
2026-09-20 19:09:26 +07:00
2026-09-20 21:48:39 +07:00
2026-09-13 09:32:58 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 18:02:59 +07:00
2026-09-12 22:00:13 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 18:18:24 +07:00
2026-09-12 23:18:28 +07:00
2026-09-20 18:23:22 +07:00
2026-09-12 23:18:28 +07:00
2026-09-19 05:21:02 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 16:09:27 +07:00
2026-09-12 16:34:25 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 21:42:50 +07:00
2026-09-12 23:06:40 +07:00
2026-09-20 07:20:27 +07:00
2026-09-12 04:46:41 +07:00
2026-09-12 16:46:30 +07:00
2026-09-12 16:46:30 +07:00
2026-09-18 22:50:54 +07:00
2026-09-12 16:46:30 +07:00
2026-09-20 21:00:22 +07:00
2026-09-20 21:00:22 +07:00
2026-09-11 20:11:01 +07:00
2026-09-13 15:40:08 +07:00
2026-09-13 17:54:36 +07:00
2026-09-13 15:40:08 +07:00
2026-09-13 15:40:08 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 10:40:47 +07:00
2026-09-12 05:32:25 +07:00
2026-09-11 20:11:01 +07:00
2026-09-11 20:11:01 +07:00
2026-09-12 05:32:25 +07:00
2026-09-20 18:02:59 +07:00
2026-09-20 18:18:24 +07:00
2026-09-20 22:09:06 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 23:06:40 +07:00
2026-09-14 08:37:30 +07:00
2026-09-13 07:50:03 +07:00
2026-09-12 23:06:40 +07:00
2026-09-13 23:22:37 +07:00
2026-09-13 07:50:03 +07:00
2026-09-12 16:09:48 +07:00
2026-09-13 14:49:11 +07:00
2026-09-13 09:32:58 +07:00
2026-09-20 23:12:42 +07:00
2026-09-14 07:12:27 +07:00
2026-09-14 07:12:27 +07:00
2026-09-19 05:21:02 +07:00
2026-09-17 18:42:01 +07:00
2026-09-17 18:42:01 +07:00
2026-09-12 05:32:25 +07:00
2026-09-12 10:51:14 +07:00
2026-09-14 10:16:42 +07:00
2026-09-17 18:42:01 +07:00
2026-09-17 21:49:40 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 18:18:20 +07:00
2026-09-20 18:18:20 +07:00
2026-09-13 18:00:35 +07:00
2026-09-13 18:00:35 +07:00
2026-09-12 05:32:25 +07:00
2026-09-20 19:56:17 +07:00
2026-09-12 10:40:47 +07:00
2026-09-17 22:17:19 +07:00
2026-09-12 05:32:25 +07:00
2026-09-13 17:40:59 +07:00
2026-09-19 05:21:02 +07:00
2026-09-12 11:38:24 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 07:20:27 +07:00
2026-09-12 11:07:57 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 18:12:45 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 11:53:37 +07:00
2026-09-17 22:55:30 +07:00
2026-09-17 19:54:32 +07:00
2026-09-12 23:18:28 +07:00
2026-09-12 11:15:58 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-12 11:07:57 +07:00
2026-09-17 18:42:01 +07:00
2026-09-18 12:16:05 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 11:12:49 +07:00
2026-09-12 11:07:57 +07:00
2026-09-12 14:47:54 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 23:12:42 +07:00
2026-09-20 19:30:04 +07:00