LONGJMP
Section: Manuel du programmeur Linux (3) Updated: 21 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION
NOM
longjmp, siglongjmp - Saut non-local vers un contexte de pile sauvegardé.
SYNOPSIS
#include < setjmp.h>
void longjmp (jmp_buf env, int val);
void siglongjmp (sigjmp_buf env, int val);
DESCRIPTION
longjmp() et setjmp() sont utiles pour la gestion d'erreurs et
d'interruptions rencontrées dans une routine bas-niveau d'un programme.
longjmp() restitue l'environnement sauvegardé lors du dernier appel
de setjmp() avec l'argument env correspondant. Après l'appel de
longjmp() l'exécution du programme continue comme si l'appel correspondant
de setjmp() venait juste de renvoyer val.
longjmp() ne peut pas renvoyer 0. Si longjmp est appelé avec
0 en tant que second argument, setjmp renverra 1 à la place.
siglongjmp() est identique à longjmp() hormis le type de
son argument env. Si l'argument savesigs est non nul
lors de l'appel de sigsetjmp(), alors siglongjmp()
restituera également l'ensemble des signaux bloqués.
VALEUR RENVOYÉE
Ces fonctions ne reviennent jamais.
CONFORMITÉ
POSIX
NOTES
POSIX ne précise pas si longjmp restore le contexte de
signal. Si vous voulez sauver et restorer le masque de signaux, utilisez
siglongjmp.
longjmp() et siglongjmp() rendent les programmes difficiles
à comprendre et à maintenir. Il est préférable si possible utiliser
une autre méthode.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|
|