SETJMP
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION
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);
DESCRIPTION
Les fonctions setjmp() et longjmp() 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().
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 retabli lorsque siglongjmp() sera invoqué avec ce contexte
env.
VALEUR RENVOYÉE
setjmp() et sigsetjmp() renvoient 0 lorsqu'elles reviennent
directement, et une valeur non-nulle si elle reviennent à travers un appel
à longjmp() ou siglongjmp() utilisant le contexte sauvegardé.
CONFORMITÉ
POSIX, ISO 9899 (C99)
NOTES
POSIX ne précise pas setjmp sauve ou non le contexte de signaux.
(Dans SysV ce n'est pas le cas, dans BSD 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
TRADUCTION
Christophe Blaess, 1996-2003.
|