pub struct AltStack { /* private fields */ }Expand description
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.
Une pile alternative permet à un gestionnaire de signal de s’exécuter sur une pile
dédiée (indispensable pour traiter un SIGSEGV de débordement de pile — c’est
l’usage de std).
Implementations§
Source§impl AltStack
impl AltStack
Sourcepub fn new(stack_pointer: *mut u8, size: usize) -> Self
pub fn new(stack_pointer: *mut u8, size: usize) -> Self
Construit une pile alternative active de base stack_pointer et size octets.
Sourcepub fn disabled() -> Self
pub fn disabled() -> Self
Construit une pile désactivée (SS_DISABLE) — pour retirer une pile alternative.
Sourcepub fn stack_pointer(&self) -> *mut u8
pub fn stack_pointer(&self) -> *mut u8
Base de la pile alternative (ss_sp).
Sourcepub fn is_disabled(&self) -> bool
pub fn is_disabled(&self) -> bool
true si la pile est désactivée (SS_DISABLE).
Sourcepub fn is_on_stack(&self) -> bool
pub fn is_on_stack(&self) -> bool
true si le thread s’exécute actuellement sur la pile alternative
(SS_ONSTACK) — pertinent sur la valeur rendue par une requête.