.\" Written by Michael Haardt, Fri Nov 25 14:51:42 MET 1994 .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" Added siglongjmp, Sun Mar 2 22:03:05 EST 1997, jrv@vanzandt.mv.com .\" Modifications, Sun Feb 26 14:39:45 1995, faith@cs.unc.edu .\" " .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH LONGJMP 3 "13 janvier 2009" "" "Manuel du programmeur Linux" .SH NOM longjmp, siglongjmp \- Saut non local vers un contexte de pile sauvegardé .SH SYNOPSIS .nf \fB#include \fP \fBvoid longjmp(jmp_buf \fP\fIenv\fP\fB, int \fP\fIval\fP\fB);\fP \fBvoid siglongjmp(sigjmp_buf \fP\fIenv\fP\fB, int \fP\fIval\fP\fB);\fP .fi .sp .in -4n Exigences de macros de test de fonctionnalités pour la glibc (consultez \fBfeature_test_macros\fP(7))\ : .in .sp \fBsiglongjmp\fP()\ : _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE .SH DESCRIPTION \fBlongjmp\fP() et \fBsetjmp\fP(3) sont utiles pour la gestion d'erreurs et d'interruptions rencontrées dans une routine bas\-niveau d'un programme. \fBlongjmp\fP() restitue l'environnement sauvegardé lors du dernier appel de \fBsetjmp\fP(3) avec l'argument \fIenv\fP correspondant. Après l'appel \fBlongjmp\fP(), l'exécution du programme continue comme si l'appel correspondant de \fBsetjmp\fP(3) venait juste de renvoyer \fIval\fP. \fBlongjmp\fP() ne peut pas renvoyer 0. Si \fBlongjmp\fP est appelé avec 0 en tant que second argument, \fBsetjmp\fP(3) renverra 1 à la place. .P \fBsiglongjmp\fP() est identique à \fBlongjmp\fP() excepté pour le type de son argument \fIenv\fP. Si et seulement si l'appel \fBsigsetjmp\fP(3) définit cet \fIenv\fP, utilisé comme drapeau \fIsavesigs\fP non nul, alors \fBsiglongjmp\fP() restituera également le signal masqué qui a été sauvé par \fBsigsetjmp\fP(3). .SH "VALEUR RENVOYÉE" Ces fonctions ne reviennent jamais. .SH CONFORMITÉ C89, C99 et POSIX.1\-2001 spécifient \fBlongjmp\fP(). POSIX.1\-2001 spécifie \fBsiglongjmp\fP(). .SH NOTES POSIX ne précise pas si \fBlongjmp\fP() restaurera le contexte du signal (consultez \fBsetjmp\fP(3) pour plus de détails). Si vous voulez sauver et restaurer le masque de signaux de façon portable, utilisez \fBsigsetjmp\fP(3) et \fBsiglongjmp\fP(). .P Les valeurs des variables automatiques ne sont pas spécifiées après un appel à \fBlongjmp\fP() si elles suivent tous les critères suivants\ : .IP \(bu 3 elles sont locales à la fonction qui effectue l'appel correspondant \fBsetjmp\fP(3)\ ; .IP \(bu leur valeur est changée entre les appels \fBsetjmp\fP(3) et \fBlongjmp\fP()\ ; .IP \(bu elles ne sont pas déclarées comme \fIvolatile\fP. .P Ces remarques s'appliquent aussi à \fBsiglongjmp\fP(). .P \fBlongjmp\fP() et \fBsiglongjmp\fP() rendent les programmes difficiles à comprendre et à maintenir. Il est préférable si possible d'utiliser une autre méthode. .SH "VOIR AUSSI" \fBsetjmp\fP(3), \fBsigsetjmp\fP(3) .SH COLOPHON Cette page fait partie de la publication 3.65 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%http://www.kernel.org/doc/man\-pages/. .SH TRADUCTION Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a par l'équipe de traduction francophone au sein du projet perkamon . .PP Christophe Blaess (1996-2003), Alain Portal (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian\ (2006-2009). .PP Veuillez signaler toute erreur de traduction en écrivant à ou par un rapport de bogue sur le paquet \fBmanpages\-fr\fR. .PP Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande «\ \fBman\ \-L C\fR \fI
\fR\ \fI\fR\ ».