Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

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);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       setjmp() : consultez la section NOTES.
       sigsetjmp() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE

DESCRIPTION

       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, et seulement si, savesigs est non nul, le masque
       de signaux  actuel  du  processus  est  sauvegardé  dans  env,  et  sera  rétabli  lorsque
       siglongjmp(3) 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(3) ou siglongjmp(3) en utilisant le
       contexte sauvegardé.

CONFORMITÉ

       C89, C99 et POSIX.1-2001 spécifient setjmp(). POSIX.1-2001 spécifie sigsetjmp().

NOTES

       POSIX  ne spécifie pas si setjmp() sauve le masque de signaux. Sous System V, ce n'est pas
       le cas. Sous BSD 4.3, le masque sera sauvé et il y a une fonction _setjmp qui ne fait  pas
       la  copie.  Par défaut, Linux/glibc suit le comportement de System V, mais le comportement
       BSD est fournit si la macro de test de fonctionnalités _BSD_SOURCE est définie  et  aucune
       des   macros   _POSIX_SOURCE,   _POSIX_C_SOURCE,   _XOPEN_SOURCE,  _XOPEN_SOURCE_EXTENDED,
       _GNU_SOURCE ou _SVID_SOURCE n'est définie.

       Si vous souhaitez sauver et restaurer le masque de signaux  de  façon  portable,  utilisez
       sigsetjmp() et siglongjmp(3).

       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)

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <URL:http://manpagesfr.free.fr/>  (2003-2006). Nicolas François et l'équipe francophone de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   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> ».

                                           26 juin 2009                                 SETJMP(3)