diff options
Diffstat (limited to 'po/fr/man3/setjmp.3.po')
-rw-r--r-- | po/fr/man3/setjmp.3.po | 754 |
1 files changed, 754 insertions, 0 deletions
diff --git a/po/fr/man3/setjmp.3.po b/po/fr/man3/setjmp.3.po new file mode 100644 index 00000000..2b7771cf --- /dev/null +++ b/po/fr/man3/setjmp.3.po @@ -0,0 +1,754 @@ +# French translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Christophe Blaess <https://www.blaess.fr/christophe/>, 1996-2003. +# Stéphan Rafin <stephan.rafin@laposte.net>, 2002. +# Thierry Vignaud <tvignaud@mandriva.com>, 1999, 2002. +# François Micaux, 2002. +# Alain Portal <aportal@univ-montp2.fr>, 2003-2008. +# Jean-Philippe Guérard <fevrier@tigreraye.org>, 2005-2006. +# Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, 2006-2007. +# Julien Cristau <jcristau@debian.org>, 2006-2007. +# Thomas Huriaux <thomas.huriaux@gmail.com>, 2006-2008. +# Nicolas François <nicolas.francois@centraliens.net>, 2006-2008. +# Florentin Duneau <fduneau@gmail.com>, 2006-2010. +# Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, 2006. +# Denis Barbier <barbier@debian.org>, 2006, 2010. +# David Prévot <david@tilapin.org>, 2010-2014. +# Grégoire Scano <gregoire.scano@malloc.fr>, 2021. +msgid "" +msgstr "" +"Project-Id-Version: perkamon\n" +"POT-Creation-Date: 2024-03-01 17:07+0100\n" +"PO-Revision-Date: 2023-03-26 13:04+0200\n" +"Last-Translator: Grégoire Scano <gregoire.scano@malloc.fr>\n" +"Language-Team: French <debian-l10n-french@lists.debian.org>\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Poedit 3.2.2\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "setjmp" +msgstr "setjmp" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 octobre 2023" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Pages du manuel de Linux 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "NOM" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "setjmp, sigsetjmp, longjmp, siglongjmp - performing a nonlocal goto" +msgstr "setjmp, sigsetjmp, longjmp, siglongjmp - Effectuer un saut non local" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "BIBLIOTHÈQUE" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "Bibliothèque C standard (I<libc>, I<-lc>)" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "SYNOPSIS" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>setjmp.hE<gt>>\n" +msgstr "B<#include E<lt>setjmp.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int setjmp(jmp_buf >I<env>B<);>\n" +"B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>B<);>\n" +msgstr "" +"B<int setjmp(jmp_buf >I<env>B<);>\n" +"B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<sauvsigs>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<[[noreturn]] void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n" +"B<[[noreturn]] void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n" +msgstr "" +"B<[[noreturn]] void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n" +"B<[[noreturn]] void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" +"Exigences de macros de test de fonctionnalités pour la glibc (consulter " +"B<feature_test_macros>(7)) :" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<setjmp>(): see NOTES." +msgstr "B<setjmp>() : consultez la section NOTES." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<sigsetjmp>():" +msgstr "B<sigsetjmp>():" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid " _POSIX_C_SOURCE\n" +msgstr " _POSIX_C_SOURCE\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The functions described on this page are used for performing \"nonlocal " +"gotos\": transferring execution from one function to a predetermined " +"location in another function. The B<setjmp>() function dynamically " +"establishes the target to which control will later be transferred, and " +"B<longjmp>() performs the transfer of execution." +msgstr "" +"Les fonctions décrites dans cette page sont utilisées pour effectuer des " +"« sauts non locaux » : transfert de l'exécution d'une fonction à un " +"emplacement prédéterminé d'une autre fonction. La fonction B<setjmp>() " +"établit de façon dynamique l'emplacement vers lequel le contrôle sera " +"transféré ultérieurement et B<longjmp>() se charge de transférer l'exécution." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<setjmp>() function saves various information about the calling " +"environment (typically, the stack pointer, the instruction pointer, possibly " +"the values of other registers and the signal mask) in the buffer I<env> for " +"later use by B<longjmp>(). In this case, B<setjmp>() returns 0." +msgstr "" +"La fonction B<setjmp>() sauvegarde diverses informations concernant " +"l'environnement de l'appelant (typiquement le pointeur de pile, le pointeur " +"d'instruction, potentiellement les valeurs d'autres registres ainsi que le " +"masque de signaux) dans le tampon I<env> pour son utilisation ultérieure par " +"B<longjmp>(). Dans ce cas, B<setjmp>() renvoie B<0>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<longjmp>() function uses the information saved in I<env> to transfer " +"control back to the point where B<setjmp>() was called and to restore " +"(\"rewind\") the stack to its state at the time of the B<setjmp>() call. " +"In addition, and depending on the implementation (see NOTES), the values of " +"some other registers and the process signal mask may be restored to their " +"state at the time of the B<setjmp>() call." +msgstr "" +"La fonction B<longjmp>() utilise les informations stockées dans I<env> pour " +"transférer le contrôle à l'endroit où B<setjmp>() fut appelé et restaurer " +"(« rewind ») la pile à son état lors de l'appel à B<setjmp>(). De plus, et " +"en fonction de l'implémentation (voir NOTES), les valeurs d'autres registres " +"et le masque de signaux du processus peuvent également être restaurées à " +"leur état lors de l'appel à B<setjmp>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Following a successful B<longjmp>(), execution continues as if B<setjmp>() " +"had returned for a second time. This \"fake\" return can be distinguished " +"from a true B<setjmp>() call because the \"fake\" return returns the value " +"provided in I<val>. If the programmer mistakenly passes the value 0 in " +"I<val>, the \"fake\" return will instead return 1." +msgstr "" +"Après un appel réussi à B<longjmp>(), l'exécution continue comme si " +"B<setjmp>() avait renvoyé une deuxième fois. Ce renvoi « factice » peut être " +"distingué d'un vrai appel à B<setjmp>() car il renvoie la valeur contenue " +"dans I<val>. Si le programmeur passe la valeur B<0> à I<val> par " +"inadvertance, le renvoi « factice » retourne B<1> à la place." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "sigsetjmp() and siglongjmp()" +msgstr "sigsetjmp() et siglongjmp()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<sigsetjmp>() and B<siglongjmp>() also perform nonlocal gotos, but " +"provide predictable handling of the process signal mask." +msgstr "" +"B<sigsetjmp>() et B<siglongjmp>() effectuent également des sauts non locaux " +"mais permettent une gestion prévisible du masque de signaux du processus." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If, and only if, the I<savesigs> argument provided to B<sigsetjmp>() is " +"nonzero, the process's current signal mask is saved in I<env> and will be " +"restored if a B<siglongjmp>() is later performed with this I<env>." +msgstr "" +"Si, et seulement si, l'argument I<sauvsigs> passé à B<sigsetjmp>() est non " +"nul, le masque de signaux actuel du processus est sauvegardé dans I<env> et " +"sera rétabli lorsque B<siglongjmp>() sera invoquée avec ce contexte I<env>." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "VALEUR RENVOYÉE" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<setjmp>() and B<sigsetjmp>() return 0 when called directly; on the " +"\"fake\" return that occurs after B<longjmp>() or B<siglongjmp>(), the " +"nonzero value specified in I<val> is returned." +msgstr "" +"B<setjmp>() et B<sigsetjmp>() renvoient B<0> lorsqu'elles sont appelées " +"directement ; la valeur non nulle spécifiée dans I<val> est renvoyée lors du " +"renvoi « factice » qui se produit après un appel à B<longjmp>() ou " +"B<siglongjmp>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<longjmp>() or B<siglongjmp>() functions do not return." +msgstr "Les fonctions B<longjmp>() et B<siglongjmp>() ne renvoient pas." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "ATTRIBUTS" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For an explanation of the terms used in this section, see B<attributes>(7)." +msgstr "" +"Pour une explication des termes utilisés dans cette section, consulter " +"B<attributes>(7)." + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interface" +msgstr "Interface" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Attribute" +msgstr "Attribut" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Value" +msgstr "Valeur" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".na\n" +msgstr ".na\n" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".nh\n" +msgstr ".nh\n" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<setjmp>(),\n" +"B<sigsetjmp>()" +msgstr "" +"B<setjmp>(),\n" +"B<sigsetjmp>()" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Thread safety" +msgstr "Sécurité des threads" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "MT-Safe" +msgstr "MT-Safe" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<longjmp>(),\n" +"B<siglongjmp>()" +msgstr "" +"B<longjmp>(),\n" +"B<siglongjmp>()" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "STANDARDS" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<sigsetjmp>():" +msgid "B<setjmp>()" +msgstr "B<sigsetjmp>():" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<sigsetjmp>():" +msgid "B<longjmp>()" +msgstr "B<sigsetjmp>():" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "C11, POSIX.1-2008." +msgstr "C11, POSIX.1-2008." + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<sigsetjmp>():" +msgid "B<sigsetjmp>()" +msgstr "B<sigsetjmp>():" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<sigsetjmp>():" +msgid "B<siglongjmp>()" +msgstr "B<sigsetjmp>():" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "POSIX.1-2008." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "HISTORIQUE" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001, C89." +msgstr "POSIX.1-2001, C89." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001." +msgstr "POSIX.1-2001." + +#. so that _FAVOR_BSD is triggered +#. .BR _XOPEN_SOURCE_EXTENDED , +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX does not specify whether B<setjmp>() will save the signal mask (to be " +"later restored during B<longjmp>()). In System V it will not. In 4.3BSD it " +"will, and there is a function B<_setjmp>() that will not. The behavior " +"under Linux depends on the glibc version and the setting of feature test " +"macros. Before glibc 2.19, B<setjmp>() follows the System V behavior by " +"default, but the BSD behavior is provided if the B<_BSD_SOURCE> feature test " +"macro is explicitly defined and none of B<_POSIX_SOURCE>, " +"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, or B<_SVID_SOURCE> is " +"defined. Since glibc 2.19, I<E<lt>setjmp.hE<gt>> exposes only the System V " +"version of B<setjmp>(). Programs that need the BSD semantics should replace " +"calls to B<setjmp>() with calls to B<sigsetjmp>() with a nonzero " +"I<savesigs> argument." +msgstr "" +"POSIX ne spécifie pas si B<setjmp>() sauve le masque de signaux (pour être " +"ensuite restauré lors de B<longjmp>()). Sous System V, ce n'est pas le cas. " +"Sous 4.3BSD, le masque sera sauvé et il y a une fonction B<_setjmp> qui ne " +"fait pas la copie. Le comportement sous Linux dépend de la version de la " +"glibc ainsi que de la configuration des macros de test de fonctionnalités. " +"Avant la glib 2.19, B<setjmp>() suit le comportement de System V par défaut, " +"mais le comportement BSD est fourni si la macro de test de fonctionnalités " +"B<_BSD_SOURCE> est définie et qu’aucune des macros B<_POSIX_SOURCE>, " +"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE> ou B<_SVID_SOURCE> " +"n'est définie. Depuis la glibc 2.19, I<E<lt>setjmp.hE<gt>> n’expose que la " +"version System V de B<setjmp>(). Les programmes ayant besoin de la " +"sémantique BSD devraient remplacer les appels de B<setjmp>() par des appels " +"de B<sigsetjmp>() avec un argument I<sauvsigs> non nul." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "NOTES" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<setjmp>() and B<longjmp>() can be useful for dealing with errors inside " +"deeply nested function calls or to allow a signal handler to pass control to " +"a specific point in the program, rather than returning to the point where " +"the handler interrupted the main program. In the latter case, if you want " +"to portably save and restore signal masks, use B<sigsetjmp>() and " +"B<siglongjmp>(). See also the discussion of program readability below." +msgstr "" +"B<setjmp>() et B<longjmp>() peuvent être utiles pour gérer des erreurs dans " +"des appels profondément imbriqués ou pour permettre à un gestionnaire de " +"signal de passer le contrôle à un point précis du programme, plutôt que de " +"renvoyer là où le gestionnaire a interrompu le programme principal. Dans ce " +"dernier cas, si vous désirez sauvegarder et restaurer les masques de signaux " +"de manière portable, utilisez B<sigsetjmp>() et B<siglongjmp>(). Consultez " +"également la sous-section sur la lisibilité des programmes ci-dessous." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "CAVEATS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The compiler may optimize variables into registers, and B<longjmp>() may " +"restore the values of other registers in addition to the stack pointer and " +"program counter. Consequently, the values of automatic variables are " +"unspecified after a call to B<longjmp>() if they meet all the following " +"criteria:" +msgstr "" +"Le compilateur peut optimiser certaines variables dans des registres et " +"B<longjmp>() peut restaurer les valeurs d'autres registres en plus des " +"pointeurs de pile et d'instruction. Par conséquent, les valeurs de variables " +"automatiques ne sont pas spécifiées après un appel à B<longjmp>() si elles " +"satisfont à tous les critères suivants :" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "-" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"they are local to the function that made the corresponding B<setjmp>() call;" +msgstr "" +"elles sont locales à la fonction qui a effectué l'appel correspondant à " +"B<setjmp>() ;" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"their values are changed between the calls to B<setjmp>() and B<longjmp>(); " +"and" +msgstr "" +"leur valeur est changée entre les appels à B<setjmp>() et B<longjmp>() ;" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "they are not declared as I<volatile>." +msgstr "elles ne sont pas déclarées comme I<volatile>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Analogous remarks apply for B<siglongjmp>()." +msgstr "Ces remarques s'appliquent aussi à B<siglongjmp>()." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Nonlocal gotos and program readability" +msgstr "Sauts non locaux et lisibilité des programmes" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"While it can be abused, the traditional C \"goto\" statement at least has " +"the benefit that lexical cues (the goto statement and the target label) " +"allow the programmer to easily perceive the flow of control. Nonlocal gotos " +"provide no such cues: multiple B<setjmp>() calls might employ the same " +"I<jmp_buf> variable so that the content of the variable may change over the " +"lifetime of the application. Consequently, the programmer may be forced to " +"perform detailed reading of the code to determine the dynamic target of a " +"particular B<longjmp>() call. (To make the programmer's life easier, each " +"B<setjmp>() call should employ a unique I<jmp_buf> variable.)" +msgstr "" +"Bien que la déclaration C traditionnelle « goto » puisse être exploitée, " +"elle a pour bénéfice que les repères lexicaux (la déclaration de saut ainsi " +"que l'étiquette cible) permettent au programmeur de percevoir de façon " +"claire le flux de contrôle. Les sauts non locaux ne fournissent pas de tels " +"repères : plusieurs appels à B<setjmp>() peuvent utiliser la même variable " +"I<jmp_buf> de telle sorte que son contenu change au cours du déroulement de " +"l'application. Par conséquent, le programmeur peut être astreint à une " +"lecture détaillée du code afin de déterminer la cible dynamique d'un appel " +"B<longjmp>() particulier (pour rendre la tâche du programmeur plus simple, " +"chaque appel à B<setjmp>() devrait utiliser une variable I<jmp_buf> unique)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Adding further difficulty, the B<setjmp>() and B<longjmp>() calls may not " +"even be in the same source code module." +msgstr "" +"De façon encore plus compliquée, les appels à B<setjmp>() et B<longjmp>() " +"peuvent même provenir de modules de code source différents." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In summary, nonlocal gotos can make programs harder to understand and " +"maintain, and an alternative should be used if possible." +msgstr "" +"En résumé, les sauts non locaux peuvent rendre les programmes plus " +"difficiles à comprendre et à maintenir, et une alternative devrait être " +"utilisée lorsque c'est possible." + +#. type: SS +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Undefined Behavior" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the function which called B<setjmp>() returns before B<longjmp>() is " +"called, the behavior is undefined. Some kind of subtle or unsubtle chaos is " +"sure to result." +msgstr "" +"Si la fonction qui a appelé B<setjmp>() renvoie avant que B<longjmp>() ne " +"soit appelée, le comportement n'est pas défini. Une sorte de chaos plus ou " +"moins subtil en résulterait de façon certaine." + +# +# +#. The following statement appeared in versions up to POSIX.1-2008 TC1, +#. but is set to be removed in POSIX.1-2008 TC2: +#. According to POSIX.1, if a +#. .BR longjmp () +#. call is performed from a nested signal handler +#. (i.e., from a handler that was invoked in response to a signal that was +#. generated while another signal was already in the process of being +#. handled), the behavior is undefined. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If, in a multithreaded program, a B<longjmp>() call employs an I<env> " +"buffer that was initialized by a call to B<setjmp>() in a different thread, " +"the behavior is undefined." +msgstr "" +"Si, dans un programme à plusieurs fils d'exécution, un appel à B<longjmp>() " +"utilise un tampon I<env> initialisé préalablement par B<setjmp>() dans un " +"fil d'exécution différent, le comportement n'est pas défini." + +#. http://austingroupbugs.net/view.php?id=516#c1195 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1-2008 Technical Corrigendum 2 adds B<longjmp>() and B<siglongjmp>() " +"to the list of async-signal-safe functions. However, the standard " +"recommends avoiding the use of these functions from signal handlers and goes " +"on to point out that if these functions are called from a signal handler " +"that interrupted a call to a non-async-signal-safe function (or some " +"equivalent, such as the steps equivalent to B<exit>(3) that occur upon a " +"return from the initial call to I<main>()), the behavior is undefined if the " +"program subsequently makes a call to a non-async-signal-safe function. The " +"only way of avoiding undefined behavior is to ensure one of the following:" +msgstr "" +"Le Technical Corrigendum 2 de POSIX.1-2008 ajoute B<longjmp>() et " +"B<siglongjmp>() à la liste des fonctions sûres vis-à-vis des signaux " +"asynchrones. Cependant, la norme recommande de ne pas utiliser ces fonctions " +"dans un gestionnaire de signal et indique ensuite que si ces fonctions sont " +"appelées depuis un gestionnaire de signal qui a interrompu un appel à une " +"fonction non sûre vis-à-vis des signaux asynchrones (ou similaire tels que " +"les étapes équivalentes à B<exit>(3) se produisant après un renvoi de " +"l'appel initial I<main>()), le comportement n'est pas défini si le programme " +"fait par la suite un appel à une fonction non sûre vis-à-vis des signaux " +"asynchrones. La seule façon d'éviter ce comportement non défini est de " +"s'assurer de la chose suivante :" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"After long jumping from the signal handler, the program does not call any " +"non-async-signal-safe functions and does not return from the initial call to " +"I<main>()." +msgstr "" +"Après un saut non local depuis un gestionnaire de signal, le programme " +"n'appelle pas de fonction non sûre vis-à-vis des signaux asynchrones et ne " +"renvoie pas depuis l'appel initial à I<main>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Any signal whose handler performs a long jump must be blocked during " +"I<every> call to a non-async-signal-safe function and no non-async-signal-" +"safe functions are called after returning from the initial call to I<main>()." +msgstr "" +"Chaque signal dont le gestionnaire effectue un saut non local doit être " +"bloqué lors de I<chaque> appel à une fonction non sûre vis-à-vis des signaux " +"asynchrones et aucune fonction non sûre vis-à-vis des signaux asynchrones " +"n'est appelée après un renvoi depuis l'appel initial à I<main>()." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "VOIR AUSSI" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<signal>(7), B<signal-safety>(7)" +msgstr "B<signal>(7), B<signal-safety>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 février 2023" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Pages du manuel de Linux 6.03" + +#. type: Plain text +#: debian-bookworm +msgid "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C99." +msgstr "B<setjmp>(), B<longjmp>() : POSIX.1-2001, POSIX.1-2008, C99." + +#. type: Plain text +#: debian-bookworm +msgid "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008." +msgstr "B<sigsetjmp>(), B<siglongjmp>() : POSIX.1-2001, POSIX.1-2008." + +#. type: SS +#: debian-bookworm +#, no-wrap +msgid "Caveats" +msgstr "Mises en garde" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "20 juillet 2023" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Pages du manuel de Linux 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 mars 2023" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Pages du manuel de Linux 6.04" |