Linux |
CentOS 4.8 |
|
setjmp(3) |
setjmp, sigsetjmp − Sauver le contexte de pile pour un saut non-local. |
#include <setjmp.h> int setjmp (jmp_buf env); int sigsetjmp (sigjmp_buf env, int savesigs); |
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. |
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é. |
POSIX |
setjmp() et sigsetjmp() rendent les programmes difficiles à comprendre et à maintenir. Si possible, essayez d’utiliser une autre méthode. |
longjmp(3), siglongjmp(3). |
Christophe Blaess, 1997. |
setjmp(3) |