Skip to main content

Module signal

Module signal 

Source
Expand description

Wrappers de la famille signal.

Cf. docs/specs/layer-0/family-signal.md et ADR-020-strategie-signaux.

Périmètre :

Modules§

async_handler
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).
synchronous_handler
Wrappers sigaction restreints aux 4 signaux synchrones fatals (cf. ADR-020).

Structs§

SignalFd
FD signalfd (cf. signalfd4(2)). Drop ferme le FD via [OwnedFd].

Functions§

block_signals
Bloque les signaux du mask dans le mask courant du thread (union). Retourne l’ancien mask (avant modification).
current_signal_mask
Lit le mask de signaux courant sans modification.
kill
Envoie signal au processus pid.
kill_process_group
Envoie signal à tout un groupe de processus (kill(2) avec un pid négatif) — descellement additif ADR-085 pour la face libc killpg (le type positif-seul [Pid] interdit d’exprimer le pid négatif « groupe » via kill). group = None cible le groupe de l’appelant (sentinelle kernel 0 typée en Option, ADR-021 conv. 1) ; Some(g) cible le groupe g (le kernel reçoit -g). signal = None = test d’existence.
rt_sigpending
Lit l’ensemble des signaux pendants (rt_sigpending(2)).
rt_sigqueueinfo
Envoie signal au processus pid avec un payload siginfo_t (pattern SI_QUEUE — sigqueue(3) côté userspace).
set_signal_mask
Remplace totalement le mask de signaux du thread par mask. Retourne l’ancien mask.
sigaltstack
Installe (new) et/ou interroge (old) la pile de signal alternative du thread (sigaltstack(2)) — descellement additif ADR-085 pour la face libc. new = None ne change rien ; old = None ne rapporte rien. Requis par std (traitement d’un SIGSEGV de débordement de pile sur pile dédiée).
signalfd_create
Crée un signalfd pour les signaux du mask.
signalfd_create_blocking
Helper canonique : bloque les signaux du mask dans le thread appelant puis crée un signalfd pour ces mêmes signaux.
tgkill
Envoie signal au thread tid du process tgid.
unblock_signals
Déblocque les signaux du mask dans le mask courant du thread (différence). Retourne l’ancien mask.
wait_for_signal
Attend l’arrivée d’un signal du mask, avec timeout optionnel.