setjmp   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 26 juillet 2007
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
setjmp, sigsetjmp - Sauver le contexte de pile pour un saut non-local  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <setjmp.h>

int setjmp (jmp_buf env);

int sigsetjmp (sigjmp_buf env, int savesigs);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

sigsetjmp() : _POSIX_C_SOURCE || _XOPEN_SOURCE  




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Les fonctions setjmp() et longjmp(3) 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(3). 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(3) sera invoquée avec ce contexte env.  



VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
setjmp() et sigsetjmp() renvoient 0 lorsqu'elles reviennent directement, et une valeur non-nulle si elles reviennent à travers un appel à longjmp(3) ou siglongjmp(3) utilisant le contexte sauvegardé.  



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
C89, C99, et POSIX.1-2001 spécifient setjmp(). POSIX.1-2001 spécifie sigsetjmp().  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
POSIX ne précise pas si setjmp() sauve ou non le contexte de signaux. (Dans System V 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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
longjmp(3), siglongjmp(3)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 7 novembre 1996 et révisée le 14 janvier 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 setjmp ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:51:28, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional