LONGJMP(3) Manuel du programmeur Linux LONGJMP(3)
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'environ
nement 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 corre
spondant 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
longjmp() et siglongjmp() rendent les programmes diffi
ciles à comprendre et à maintenir. Il est préférable si
possible utiliser une autre méthode.
VOIR AUSSI
setjmp(3), sigsetjmp(3).
TRADUCTION
Christophe Blaess, 1997.
Linux 10 Juillet 1997 1