Skip to main content

Module futex

Module futex 

Source
Expand description

Types de la famille futex — primitive de blocage/réveil noyau (futex(2)).

Cf. docs/specs/layer-0/family-futex.md (ADR-048, re-sceau couche-0-v1.6).

La famille futex(2) classique (syscall SYS_futex) sous-tend les briques de synchronisation std-free de la libc Air (air-thread, couche 1) et le mutex interne de l’état io_uring partagé de la couche 0. Le mot futex est un core::sync::atomic::AtomicU32 manipulé par l’appelant ; ces types décrivent les deux attributs typés des opérations (cf. ADR-021 §3 : pas de drapeau d’op brut, chaque attribut est un type) :

  • FutexScope : portée process-privée (cas courant) vs partagée inter-process.
  • FutexWakeCount : nombre de waiters à réveiller, borné par construction à INT_MAX (le val de FUTEX_WAKE est un int côté noyau).

Les wrappers futex_wait/futex_wake qui consomment ces types vivent dans air-sys-syscall::futex.

Structs§

FutexWakeCount
Nombre de waiters à réveiller par futex_wake (val de FUTEX_WAKE).

Enums§

FutexScope
Portée d’une opération futex(2) : process-privée ou partagée.