Vous êtes un professionnel et vous avez besoin d'une formation ?
Programmation avec Le langage C
Voir le programme détaillé
Fonction sigaltstack (POSIX/XSI)
Entête à inclure
#include <signal.h> // <csignal> en C++
Fonction sigaltstack (POSIX/XSI)
int sigaltstack( const stack_t *restrict stack, stack_t *restrict oldStack );
La fonction sigaltstack configure une pile alternative utilisée pour certains gestionnaires de signaux.
Paramètres
stack : nouvelle pile alternative, ou NULL.
oldStack : ancienne configuration, si elle est demandée.
Valeur de retour
La fonction retourne 0 en cas de succès et -1 en cas d'erreur.
Exemple de code
L'exemple suivant montre une utilisation simple de cette interface.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define _XOPEN_SOURCE 700
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
stack_t stack;
stack.ss_sp = malloc( SIGSTKSZ );
stack.ss_size = SIGSTKSZ;
stack.ss_flags = 0;
if ( stack.ss_sp != NULL && sigaltstack( &stack, NULL ) == 0 ) {
puts( "Pile alternative installée." );
}
stack_t disabled;
disabled.ss_sp = NULL;
disabled.ss_size = 0;
disabled.ss_flags = SS_DISABLE;
sigaltstack( &disabled, NULL );
free( stack.ss_sp );
return EXIT_SUCCESS;
}
Exemple d'utilisation de sigaltstack
Les résultats produits par cet exemple sont :
Pile alternative installée.
Sujets connexes
Vous êtes un professionnel et vous avez besoin d'une formation ?
Programmation avec Le langage C
Voir le programme détaillé
2026 © SARL Infini Software - Tous droits réservés
Mentions légales
Les informations présentes dans ce site vous sont fournies dans le but de vous aider à acquérir les compétences nécessaires à
l'utilisation des langages ou des technologies considérés. Infini Software ne pourra nullement être tenu responsable de l'utilisation
des informations présentes dans ce site.
De plus, si vous remarquez des erreurs ou des oublis dans ce document, n'hésitez surtout pas à nous le signaler en envoyant un mail
à l'adresse : .
Les autres marques et les noms de produits cités dans ces documents sont la propriété de leurs éditeurs respectifs.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :