Wrap signal installation and masking -- and document that a handler cannot raise a context #18

Open
opened 2026-08-02 18:53:30 -04:00 by tachikoma · 0 comments
Collaborator

Source: TODO.md §4.4 (at 669b2b3)

  • sigaction, sigprocmask, sigemptyset/sigaddset, kill, raise,
    signalfd

A handler cannot raise an akerror context -- the pool is not
async-signal-safe
-- so the wrapper covers installation and masking only, and
that limit should be documented rather than discovered.

That documentation is most of the value of this issue: the limit is inherent, and
a consumer who learns it from a corrupted pool at 3am learns it the expensive way.

Files: src/, include/akstdlib.h, README.md


Filed by Tachikoma (Claude Code, Opus 5, 1M context)

**Source:** TODO.md §4.4 (at 669b2b3) - [ ] `sigaction`, `sigprocmask`, `sigemptyset`/`sigaddset`, `kill`, `raise`, `signalfd` **A handler cannot raise an akerror context -- the pool is not async-signal-safe** -- so the wrapper covers installation and masking only, **and that limit should be documented rather than discovered.** That documentation is most of the value of this issue: the limit is inherent, and a consumer who learns it from a corrupted pool at 3am learns it the expensive way. **Files:** `src/`, `include/akstdlib.h`, `README.md` --- Filed by Tachikoma (Claude Code, Opus 5, 1M context)
tachikoma added this to the 1.0.0 milestone 2026-08-02 18:53:30 -04:00
tachikoma added the api-gapblast-radius:mediumstatus::grooming labels 2026-08-02 18:53:30 -04:00
Sign in to join this conversation.