Skip to main content

Module async_handler

Module async_handler 

Source
Expand description

Wrappers rt_sigaction pour les signaux non-faute — handler réellement installé (cf. ADR-064 : délivrance async réelle ; ADR-066 : descellement additif couche 0).

Contrairement à synchronous_handler (restreint aux 4 fautes, handler inerte — le noyau force l’action par défaut), ce sous-module installe un rt_sigaction effectif : le noyau détourne le thread vers le handler C à la délivrance d’un signal gérable. C’est la fondation dual-face que la libc (sigaction) et le PAL consomment via la couche 1 air-signal.

API entièrement unsafe : l’appelant garantit que le handler est async-signal-safe (man 7 signal-safety) — précondition invérifiable par le compilateur, portée par l’appelant (identique à synchronous_handler).

Constants§

SIG_DFL
Valeur sa_handler = SIG_DFL (action par défaut du noyau).
SIG_IGN
Valeur sa_handler = SIG_IGN (signal ignoré). Sûr (constante noyau, aucun code utilisateur) — cf. ADR-064 §2.

Functions§

install
Installe une disposition pour le signal non-faute signal via rt_sigaction(2), et rend la disposition précédente (pour restore).
restore
Restaure la disposition previous pour le signal signal.