SETJMP
Section : Manuel du programmeur Linux (
3)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
setjmp, sigsetjmp - Sauver le contexte de pile pour un saut non local
SYNOPSIS
#include <
setjmp.h>
int setjmp(jmp_buf env);
int sigsetjmp(sigjmp_buf env, int savesigs);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
sigsetjmp() :
_POSIX_C_SOURCE || _XOPEN_SOURCE
DESCRIPTION
Les fonctions
setjmp()
et
longjmp(3)
sont utiles pour gérer les
erreurs et les interruptions rencontrées dans des routines bas-niveau.
setjmp()
sauvegarde le contexte de pile et d'environnement dans
env
afin de l'utiliser ultérieurement avec
longjmp(3).
Le contexte de pile sera invalide si la fonction qui appelle
setjmp()
se termine.
sigsetjmp()
est semblable à
setjmp().
Si
savesigs
est non nul, l'ensemble des signaux bloqués est sauvegardé dans
env,
et sera rétabli lorsque
siglongjmp(3)
sera invoquée avec ce contexte
env.
VALEUR RENVOYÉE
setjmp()
et
sigsetjmp()
renvoient 0 lorsqu'elles reviennent directement,
et une valeur non nulle si elles reviennent à travers un appel à
longjmp(3)
utilisant le contexte sauvegardé.
CONFORMITÉ
C89, C99 et POSIX.1-2001 spécifient
setjmp().
POSIX.1-2001 spécifie
sigsetjmp().
NOTES
POSIX ne précise pas si
setjmp()
sauve ou non le contexte de signaux.
(Dans System V ce n'est pas le cas, dans BSD 4.3 si,
mais il existe une fonction
_setjmp()
qui ne le fait pas).
Si vous voulez sauver le masque de signaux, utilisez
sigsetjmp().
setjmp()
et
sigsetjmp()
rendent les programmes difficiles à comprendre et à maintenir.
Si possible, essayez d'utiliser une autre méthode.
VOIR AUSSI
longjmp(3),
siglongjmp(3)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 7 novembre 1996
et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 3 setjmp ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- CONFORMITÉ
-
- NOTES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 17 juillet 2008