Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SETJMP
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 rétabli
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 elles reviennent à travers un appel
à longjmp() en utilisant le contexte sauvegardé.
CONFORMITÉ
POSIX.1-2001, C99
NOTES
POSIX ne précise pas si setjmp() sauve ou non le contexte de signaux
(dans Système 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
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|