Addresses the review of2f2d7f1d+5c30bfe0: - arm_timer: add the null-`current` guard its siblings (sleep/suspend_self/ block_on_fd) all have. Armed from the bare scheduler context it stored a `fiber = null` Timer that segfaulted `wake` on fire; now it aborts loudly. - spawn_raw: bail loudly on a null `entry` (a null fn-ptr jumped to 0x0 once the fiber ran), and document the `arg` lifetime contract (must outlive the fiber's first run, not just the spawn_raw call). - poll: abort if io-waiters are pending (a `poll`-only driver can't progress fd-bound fibers — previously returned -1, indistinguishable from quiescent), and document `deadline_ms` as reserved/intentionally-unread for the virtual-time single-step (not a silently-dropped arg). - fib_dispatch: replace the now-stale comment (which still claimed fibers run under `__sx_default_context` and "do not inherit a caller-scoped allocator") with the Phase 0 reality + the dctx lifetime contract: every capability in the spawn-time context (allocator/io/data) must outlive the fiber. Behavior-preserving (full suite 828/0); the new aborts only fire on misuse.
61 KiB
61 KiB