Skip to main content

Module signal

Module signal 

Source
Expand description

Signal Linux et types associés.

Couvre la famille signal de la couche 0 (cf. docs/specs/layer-0/family-signal.md). Périmètre :

  • Constantes Signal : 10 / ~31 signaux POSIX standards référencés par le code et les tests Air. Reste stub partiel — les ~21 restants (et les RT signals 32-64) seront ajoutés au fil des PRs qui les utiliseront. Le type Signal borne structurellement ses valeurs à [1, 64] (= _NSIG Linux) via Signal::try_from_raw : aucun signal hors de cette plage ne peut être construit publiquement.
  • SignalInfo : payload siginfo_t opaque (128 octets) construit via des constructeurs Air (new_queue) pour le pattern SI_QUEUE utilisé par rt_sigqueueinfo et acceptable pour pidfd_send_signal.
  • SignalValue : valeur associée à un signal-envoyé (Integer(i32) ou Pointer(u64)).
  • SignalMask : ensemble de signaux comme bitmask u64.
  • SignalFdInfo : structure retournée par la lecture d’un signalfd.
  • SignalFdFlags : drapeaux de signalfd4.
  • Sous-module synchronous_handler : FatalSignal, SignalInfo, PreviousHandler (cf. ADR-020 sigaction restreint).

Modules§

async_handler
Types du handler asynchrone des signaux non-faute (ADR-066).
synchronous_handler
Sous-module restreint aux 4 signaux synchrones fatals (cf. ADR-020). Les seuls types et fonctions Air permettant d’installer un handler sigaction vivent ici ; la barrière est par construction.

Structs§

AltStack
Pile de signal alternative (stack_t du kernel) — descellement additif ADR-085 pour la face libc sigaltstack. Disposition #[repr(C)] exacte de stack_t (LP64 : void *ss_sp @0, int ss_flags @8, size_t ss_size @16 ; 24 octets), pour être passée telle quelle au syscall.
Signal
Numéro de signal Unix/Linux.
SignalFdFlags
Drapeaux pour [signalfd_create] (signalfd4(2)).
SignalFdInfo
Information lue depuis un signalfd (un signalfd_siginfo).
SignalInfo
Payload siginfo_t opaque associé à un syscall d’envoi de signal (pidfd_send_signal, rt_sigqueueinfo).
SignalMask
Ensemble de signaux représenté comme bitmask u64.

Enums§

SignalValue
Valeur attachée à un signal envoyé via le pattern SI_QUEUE (rt_sigqueueinfo, ou pidfd_send_signal avec info non-null).

Constants§

SS_DISABLE
SS_DISABLE (2) — désactive la pile alternative.
SS_ONSTACK
SS_ONSTACK (1) — le thread s’exécute actuellement sur la pile alternative (lecture seule, rendu par la requête).