Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       longjmp,  siglongjmp  -  Saut  non  local  vers  un  contexte  de  pile
       sauvegarde

SYNOPSIS

       #include <setjmp.h>

       void longjmp(jmp_buf env, int val);

       void siglongjmp(sigjmp_buf env, int val);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       siglongjmp() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE

DESCRIPTION

       longjmp()  et  setjmp(3)  sont  utiles  pour  la  gestion  d'erreurs et
       d'interruptions rencontrees dans une routine bas-niveau d'un programme.
       longjmp()  restitue l'environnement sauvegarde lors du dernier appel de
       setjmp(3) avec l'argument env correspondant. Apres  l'appel  longjmp(),
       l'execution  du  programme  continue  comme si l'appel correspondant de
       setjmp(3) venait juste de renvoyer val. longjmp() ne peut pas  renvoyer
       0.  Si longjmp est appele avec 0 en tant que second argument, setjmp(3)
       renverra 1 a la place.

       siglongjmp() est identique a longjmp() excepte  pour  le  type  de  son
       argument  env. Si et seulement si l'appel sigsetjmp(3) definit cet env,
       utilise comme drapeau savesigs non nul, alors  siglongjmp()  restituera
       egalement le signal masque qui a ete sauve par sigsetjmp(3).

VALEUR RENVOY'EE

       Ces fonctions ne reviennent jamais.

CONFORMIT'E

       C89,  C99  et  POSIX.1-2001 specifient longjmp(). POSIX.1-2001 specifie
       siglongjmp().

NOTES

       POSIX ne precise pas si longjmp()  restaurera  le  contexte  du  signal
       (consultez  setjmp(3)  pour  plus de details). Si vous voulez sauver et
       restaurer le masque de signaux de facon portable, utilisez  sigsetjmp()
       et siglongjmp().

       Les  valeurs des variables automatiques ne sont pas specifiees apres un
       appel a longjmp() si elles suivent tous les criteres suivants :

       o  elles sont locales a la fonction qui effectue l'appel  correspondant
          setjmp(3) ;

       o  leur valeur est changee entre les appels setjmp(3) et longjmp() ;

       o  elles ne sont pas declarees comme volatile.

       Ces remarques s'appliquent aussi a siglongjmp().

       longjmp()   et   siglongjmp()   rendent  les  programmes  difficiles  a
       comprendre et a maintenir. Il est preferable si possible d'utiliser une
       autre methode.

VOIR AUSSI

       setjmp(3), sigsetjmp(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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).   Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

                                13 janvier 2009                     LONGJMP(3)