writeonce/compiler/src
shoney.arickathil c55d6e1d33 feat(rt2): signal.on — latched signals become Signal records for actors
- mechanics amendment to the spec (recorded at close-out): no signalfd —
  the stop-latch pattern generalized. An async-signal-safe handler
  latches the number, bumps a sequence and pokes shard 0's wake eventfd;
  wo_io_wait's loop head drains latches into fresh Signal{sig} records
  delivered via runtime_notify (exported as wo_actor_notify)
- payloads must be heap objects (vm.c drops them unconditionally) — the
  Signal record exists exactly for that; class id rides the call as the
  appended record operand (sm_record drives it even with no return)
- offerable: WINCH/CHLD/HUP/USR1/USR2; SIGTERM/SIGINT refused naming the
  stop latch; shard-0-only registration; coalescing disclosed
- stdlib_modules gains `signal` (and `term`, next task)
- test_term: a real child kills the test process with USR1; the actor's
  multi holds one coalesced delivery; refusal leg verbatim. 14/0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 14e03a6a4a343b97c9b47fab1a5e3c4bb69d8201)
2026-09-15 01:15:30 +02:00
..
ast.ml feat(woc): @table durable/resident arguments, defaults preserve behaviour 2026-08-26 23:03:36 +02:00
CODE-LOGIC.md feat(serve+view): file serving, downloads, supported systems; rename 2026-08-25 04:41:00 +02:00
diag.ml feat: milestone 1 complete — .wob emitter, conformance corpus, single binary; GC redesign specced 2026-08-11 19:31:26 +02:00
disasm.ml feat(wob): v7 — class descriptor carries durability and residency 2026-08-26 23:22:26 +02:00
dump.ml feat(woc): @table durable/resident arguments, defaults preserve behaviour 2026-08-26 23:03:36 +02:00
dune refactor(compiler): inference is one library pass, Gcinfer.infer 2026-08-18 19:00:11 +02:00
emit.ml Merge master into db-residency-doctrine — and close the two half-exposed features 2026-08-29 10:14:25 +02:00
gcinfer.ml feat: spawn / send / actor M — the unified actor surface (arc T3) 2026-08-20 07:21:24 +02:00
lexer.ml feat(lang+wo-html): raw text literals, component layer, MVC samples 2026-08-25 03:58:41 +02:00
owner.ml feat: monitor + time.after (ids 89/90) — the lifecycle slice completes 2026-08-23 08:56:48 +02:00
parser.ml feat(wob): v7 — class descriptor carries durability and residency 2026-08-26 23:22:26 +02:00
token.ml feat(lang+wo-html): raw text literals, component layer, MVC samples 2026-08-25 03:58:41 +02:00
types.ml feat(rt2): signal.on — latched signals become Signal records for actors 2026-09-15 01:15:30 +02:00