Signals are statements delivered as coalescing notifications to the endpoint a process nominates with signal_bind — never a hijacked stack, never a question (liveness is the zero-length ping the harness answers). process_signal is supervisor-or-self gated, like kill; unbound targets accumulate a pending mask delivered on bind. timer_bind is the missing timed wait: a one-shot deadline landing in the same replyWait as everything else — what stop(), hello deadlines, and restart backoff are built from. runtime.service.run folds requests, signals, and notifications into callbacks; the VFS conversion deletes its hand-rolled loop and gains the whole lifecycle contract. The signals scenario drives ping, reload, terminate->exited, the timer, and the deaf-child deadline->killed path from ring 3. docs/process-lifecycle.md increments 1-4 are now as-built. |
||
|---|---|---|
| .. | ||
| architecture/x86_64 | ||
| console.zig | ||
| devices-broker.zig | ||
| font.psf | ||
| heap.zig | ||
| ipc-synchronous.zig | ||
| ipc.zig | ||
| irq.zig | ||
| kernel.zig | ||
| log.zig | ||
| pmm.zig | ||
| process.zig | ||
| scheduler.zig | ||
| sync.zig | ||
| tests.zig | ||