.\" 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 sigsetjmp, 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 SETJMP 3 "7 janvier 2014" "" "Manuel du programmeur Linux" .SH NOM setjmp, sigsetjmp \- Sauver le contexte de pile pour un saut non local .SH SYNOPSIS \fB#include \fP .sp .nf \fBint setjmp(jmp_buf \fP\fIenv\fP\fB);\fP \fBint sigsetjmp(sigjmp_buf \fP\fIenv\fP\fB, int \fP\fIsavesigs\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 \fBsetjmp\fP()\ : consultez la section NOTES. .br \fBsigsetjmp\fP()\ : _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE .SH DESCRIPTION Les fonctions \fBsetjmp\fP() et \fBlongjmp\fP(3) sont utiles pour gérer les erreurs et les interruptions rencontrées dans des routines bas\-niveau. \fBsetjmp\fP() sauvegarde le contexte de pile et d'environnement dans \fIenv\fP afin de l'utiliser ultérieurement avec \fBlongjmp\fP(3). Le contexte de pile sera invalide si la fonction qui appelle \fBsetjmp\fP() se termine. .P \fBsigsetjmp\fP() est semblable à \fBsetjmp\fP(). Si, et seulement si, \fIsavesigs\fP est non nul, le masque de signaux actuel du processus est sauvegardé dans \fIenv\fP, et sera rétabli lorsque \fBsiglongjmp\fP(3) sera invoqué avec ce contexte \fIenv\fP. .SH "VALEUR RENVOYÉE" \fBsetjmp\fP() et \fBsigsetjmp\fP() renvoient 0 lorsqu'elles reviennent directement, et une valeur non nulle si elles reviennent à travers un appel à \fBlongjmp\fP(3) ou \fBsiglongjmp\fP(3) en utilisant le contexte sauvegardé. .SH CONFORMITÉ C89, C99 et POSIX.1\-2001 spécifient \fBsetjmp\fP(). POSIX.1\-2001 spécifie \fBsigsetjmp\fP(). .SH NOTES POSIX ne spécifie pas si \fBsetjmp\fP() sauve le masque de signaux (pour être ensuite restauré lors de \fBlongjmp\fP(3)). Sous System\ V, ce n'est pas le cas. Sous BSD\ 4.3, le masque sera sauvé et il y a une fonction \fB_setjmp\fP qui ne fait pas la copie. Sous Linux avec glibc avant la version\ 2.19, \fBsetjmp\fP() suit le comportement de System\ V par défaut, mais le comportement BSD est fournit si la macro de test de fonctionnalités \fB_BSD_SOURCE\fP est définie et qu’aucune des macros \fB_POSIX_SOURCE\fP, \fB_POSIX_C_SOURCE\fP, \fB_XOPEN_SOURCE\fP, \fB_XOPEN_SOURCE_EXTENDED\fP, \fB_GNU_SOURCE\fP ou \fB_SVID_SOURCE\fP n'est définie. Depuis glibc\ 2.19, \fI\fP n’expose que la version System\ V de \fBsetjmp\fP(). Les programmes ayant besoin de le sémantique BSD devraient remplacer les appels de \fBsetjmp\fP() par des appels de \fBsigsetjmp\fP() avec un argument \fIsavesigs\fP non nul. Si vous souhaitez sauver et restaurer le masque de signaux de façon portable, utilisez \fBsigsetjmp\fP() et \fBsiglongjmp\fP(3). .P \fBsetjmp\fP() et \fBsigsetjmp\fP() rendent les programmes difficiles à comprendre et à maintenir. Si possible, essayez d'utiliser une autre méthode. .SH "VOIR AUSSI" \fBlongjmp\fP(3), \fBsiglongjmp\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). Nicolas François 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\ ».