diff options
Diffstat (limited to 'po/fr/man3/pthread_mutexattr_setrobust.3.po')
-rw-r--r-- | po/fr/man3/pthread_mutexattr_setrobust.3.po | 840 |
1 files changed, 840 insertions, 0 deletions
diff --git a/po/fr/man3/pthread_mutexattr_setrobust.3.po b/po/fr/man3/pthread_mutexattr_setrobust.3.po new file mode 100644 index 00000000..f4e0a0ad --- /dev/null +++ b/po/fr/man3/pthread_mutexattr_setrobust.3.po @@ -0,0 +1,840 @@ +# 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, 2012. +# Frédéric Hantrais <fhantrais@gmail.com>, 2013, 2014. +# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2023. +msgid "" +msgstr "" +"Project-Id-Version: perkamon\n" +"POT-Creation-Date: 2024-03-01 17:04+0100\n" +"PO-Revision-Date: 2023-07-25 16:53+0200\n" +"Last-Translator: Jean-Pierre Giraud <jean-pierregiraud@neuf.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: Lokalize 22.12.3\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "pthread_mutexattr_setrobust" +msgstr "pthread_mutexattr_setrobust" + +#. 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 "" +"pthread_mutexattr_getrobust, pthread_mutexattr_setrobust - get and set the " +"robustness attribute of a mutex attributes object" +msgstr "" +"pthread_mutexattr_getrobust, pthread_mutexattr_setrobust — Définir ou " +"obtenir l'attribut de robustesse d'un objet d'attributs de mutex" + +#. 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 "POSIX threads library (I<libpthread>, I<-lpthread>)" +msgstr "Bibliothèque de threads POSIX (I<libpthread>, I<-lpthread>)" + +#. 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>pthread.hE<gt>>\n" +msgstr "B<#include E<lt>pthread.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 pthread_mutexattr_getrobust(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int *>I<robustness>B<);>\n" +"B<int pthread_mutexattr_setrobust(pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int >I<robustness>B<);>\n" +msgstr "" +"B<int pthread_mutexattr_getrobust(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int *>I<robustesse>B<);>\n" +"B<int pthread_mutexattr_setrobust(pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int >I<robustesse>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<pthread_mutexattr_getrobust>(), B<pthread_mutexattr_setrobust>():" +msgstr "B<pthread_mutexattr_getrobust>(), B<pthread_mutexattr_setrobust>() :" + +#. FIXME . +#. But see https://sourceware.org/bugzilla/show_bug.cgi?id=22125 +#. 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 E<gt>= 200809L\n" +msgstr " _POSIX_C_SOURCE E<gt>= 200809L\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 B<pthread_mutexattr_getrobust>() function places the value of the " +"robustness attribute of the mutex attributes object referred to by I<attr> " +"in I<*robustness>. The B<pthread_mutexattr_setrobust>() function sets the " +"value of the robustness attribute of the mutex attributes object referred to " +"by I<attr> to the value specified in I<*robustness>." +msgstr "" +"La fonction B<pthread_mutexattr_getrobust>() place la valeur de l'attribut " +"de robustesse de l'objet d'attributs de mutex auquel I<attr> fait référence " +"dans I<*robustesse>. La fonction B<pthread_mutexattr_setrobust>() définit à " +"la valeur spécifiée dans I<*robustesse> la valeur de l'attribut de " +"robustesse de l'objet d'attributs de mutex auquel I<attr> fait référence." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The robustness attribute specifies the behavior of the mutex when the owning " +"thread dies without unlocking the mutex. The following values are valid for " +"I<robustness>:" +msgstr "" +"L'attribut de robustesse définit le comportement du mutex quand le thread " +"propriétaire finit sans déverrouiller le mutex. Les valeurs suivantes sont " +"permises pour I<robustesse> :" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PTHREAD_MUTEX_STALLED>" +msgstr "B<PTHREAD_MUTEX_STALLED>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the default value for a mutex attributes object. If a mutex is " +"initialized with the B<PTHREAD_MUTEX_STALLED> attribute and its owner dies " +"without unlocking it, the mutex remains locked afterwards and any future " +"attempts to call B<pthread_mutex_lock>(3) on the mutex will block " +"indefinitely." +msgstr "" +"C'est la valeur par défaut pour un objet d'attributs de mutex. Si un mutex " +"est initialisé avec l'attribut B<PTHREAD_MUTEX_STALLED> et si son " +"propriétaire finit sans le déverrouiller, le mutex demeure verrouillé " +"ensuite et toute tentative ultérieure pour appeler B<pthread_mutex_lock>(3) " +"sur le mutex bloquera indéfiniment." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<PTHREAD_MUTEX_ROBUST>" +msgstr "B<PTHREAD_MUTEX_ROBUST>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If a mutex is initialized with the B<PTHREAD_MUTEX_ROBUST> attribute and its " +"owner dies without unlocking it, any future attempts to call " +"B<pthread_mutex_lock>(3) on this mutex will succeed and return " +"B<EOWNERDEAD> to indicate that the original owner no longer exists and the " +"mutex is in an inconsistent state. Usually after B<EOWNERDEAD> is returned, " +"the next owner should call B<pthread_mutex_consistent>(3) on the acquired " +"mutex to make it consistent again before using it any further." +msgstr "" +"Si un mutex est initialisé avec l'attribut B<PTHREAD_MUTEX_ROBUST> et si son " +"propriétaire finit sans le déverrouiller, toute tentative ultérieure pour " +"appeler B<pthread_mutex_lock>(3) sur ce mutex réussira et renverra " +"B<EOWNERDEAD> pour indiquer que le propriétaire d'origine n'existe plus et " +"que le mutex est dans un état incohérent. Habituellement, après l'envoi de " +"B<EOWNERDEAD>, le propriétaire suivant devrait appeler " +"B<pthread_mutex_consistent>(3) sur le mutex acquis pour le rendre à nouveau " +"cohérent avant de l'utiliser plus avant." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the next owner unlocks the mutex using B<pthread_mutex_unlock>(3) before " +"making it consistent, the mutex will be permanently unusable and any " +"subsequent attempts to lock it using B<pthread_mutex_lock>(3) will fail " +"with the error B<ENOTRECOVERABLE>. The only permitted operation on such a " +"mutex is B<pthread_mutex_destroy>(3)." +msgstr "" +"Si le propriétaire suivant déverrouille le mutex avec " +"B<pthread_mutex_unlock>(3) avant de le rendre cohérent, le mutex demeurera " +"inutilisable de façon permanente et toute tentative ultérieure pour le " +"verrouiller avec B<pthread_mutex_lock>(3) échouera avec l'erreur " +"B<ENOTRECOVERABLE>. B<pthread_mutex_destroy>(3) est la seule opération " +"permise sur un mutex dans cet état." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the next owner terminates before calling B<pthread_mutex_consistent>(3), " +"further B<pthread_mutex_lock>(3) operations on this mutex will still return " +"B<EOWNERDEAD>." +msgstr "" +"Si le propriétaire suivant termine avant d'appeler " +"B<pthread_mutex_consistent>(3), les opérations B<pthread_mutex_lock>(3) " +"ultérieures sur ce mutex renverront encore B<EOWNERDEAD>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that the I<attr> argument of B<pthread_mutexattr_getrobust>() and " +"B<pthread_mutexattr_setrobust>() should refer to a mutex attributes object " +"that was initialized by B<pthread_mutexattr_init>(3), otherwise the behavior " +"is undefined." +msgstr "" +"Veuillez noter que l'argument I<attr> de B<pthread_mutexattr_getrobust>() et " +"de B<pthread_mutexattr_setrobust>() doit faire référence à l'objet " +"d'attributs de mutex initialisé par B<pthread_mutexattr_init>(3), autrement " +"le comportement est indéfini." + +#. 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 "" +"On success, these functions return 0. On error, they return a positive " +"error number." +msgstr "" +"En cas de réussite, ces fonctions renvoient B<0> ; en cas d'erreur, elles " +"renvoient un code d'erreur positif." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the glibc implementation, B<pthread_mutexattr_getrobust>() always return " +"zero." +msgstr "" +"Dans l'implémentation de la glibc, B<pthread_mutexattr_getrobust>() renvoie " +"toujours zéro." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ERREURS" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A value other than B<PTHREAD_MUTEX_STALLED> or B<PTHREAD_MUTEX_ROBUST> was " +"passed to B<pthread_mutexattr_setrobust>()." +msgstr "" +"Une valeur autre que B<PTHREAD_MUTEX_STALLED> ou B<PTHREAD_MUTEX_ROBUST> a " +"été passée à B<pthread_mutexattr_setrobust>()." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "VERSIONS" + +#. E.g., Solaris, according to its manual page +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the Linux implementation, when using process-shared robust mutexes, a " +"waiting thread also receives the B<EOWNERDEAD> notification if the owner of " +"a robust mutex performs an B<execve>(2) without first unlocking the mutex. " +"POSIX.1 does not specify this detail, but the same behavior also occurs in " +"at least some other implementations." +msgstr "" +"Dans l'implémentation de Linux, lors de l'utilisation de mutex à processus " +"partagé robustes, un thread en attente reçoit également la notification " +"B<EOWNERDEAD> si le propriétaire d'un mutex robuste réalise une commande " +"B<execve>(2) sans avoir préalablement déverrouillé le mutex. POSIX.1 ne " +"spécifie pas ce détail, mais le même comportement se produit aussi dans au " +"moins quelques autres implémentations." + +#. 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: Plain text +#: archlinux debian-bookworm 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 "glibc 2.12. POSIX.1-2008." +msgstr "glibc 2.12. POSIX.1-2008." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before the addition of B<pthread_mutexattr_getrobust>() and " +"B<pthread_mutexattr_setrobust>() to POSIX, glibc defined the following " +"equivalent nonstandard functions if B<_GNU_SOURCE> was defined:" +msgstr "" +"Avant l'ajout à POSIX de B<pthread_mutexattr_getrobust>() et " +"B<pthread_mutexattr_setrobust>(), la glibc définissait les fonctions non " +"standard équivalentes suivantes si B<_GNU_SOURCE> était défini :" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<[[deprecated]]>\n" +"B<int pthread_mutexattr_getrobust_np(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int *>I<robustness>B<);>\n" +"B<[[deprecated]]>\n" +"B<int pthread_mutexattr_setrobust_np(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int >I<robustness>B<);>\n" +msgstr "" +"B<[[obsolète]]>\n" +"B<int pthread_mutexattr_getrobust_np(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int *>I<robustesse>B<);>\n" +"B<[[obsolète]]>\n" +"B<int pthread_mutexattr_setrobust_np(const pthread_mutexattr_t *>I<attr>B<,>\n" +"B< int >I<robustesse>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Correspondingly, the constants B<PTHREAD_MUTEX_STALLED_NP> and " +"B<PTHREAD_MUTEX_ROBUST_NP> were also defined." +msgstr "" +"De la même façon, les constantes B<PTHREAD_MUTEX_STALLED_NP> et " +"B<PTHREAD_MUTEX_ROBUST_NP> étaient également définies." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"These GNU-specific APIs, which first appeared in glibc 2.4, are nowadays " +"obsolete and should not be used in new programs; since glibc 2.34 these APIs " +"are marked as deprecated." +msgstr "" +"Ces API propres à GNU, apparues dans la glibc 2.4, sont à présent obsolètes " +"et ne devraient pas être utilisées dans de nouveaux programmes. Depuis la " +"glibc 2.34, ces API sont marquées comme obsolètes." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "EXEMPLES" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The program below demonstrates the use of the robustness attribute of a " +"mutex attributes object. In this program, a thread holding the mutex dies " +"prematurely without unlocking the mutex. The main thread subsequently " +"acquires the mutex successfully and gets the error B<EOWNERDEAD>, after " +"which it makes the mutex consistent." +msgstr "" +"Le programme ci-dessous montre l'utilisation de l'attribut de robustesse " +"d'un objet d'attributs de mutex. Dans ce programme, un thread possédant le " +"mutex s'interrompt prématurément sans déverrouiller le mutex. Le thread " +"principal acquiert ensuite le mutex avec succès et reçoit l'erreur " +"B<EOWNERDEAD> après quoi il rend le mutex cohérent." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following shell session shows what we see when running this program:" +msgstr "" +"La session d'interpréteur de commande suivante montre l'exécution de ce " +"programme :" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$ B<./a.out>\n" +"[original owner] Setting lock...\n" +"[original owner] Locked. Now exiting without unlocking.\n" +"[main] Attempting to lock the robust mutex.\n" +"[main] pthread_mutex_lock() returned EOWNERDEAD\n" +"[main] Now make the mutex consistent\n" +"[main] Mutex is now consistent; unlocking\n" +msgstr "" +"$ B<./a.out>\n" +"[original owner] Mise en place du verrou...\n" +"[original owner] Verrouillé. Sortie sans déverrouillage.\n" +"[main] Tentative de verrouillage du mutex robuste.\n" +"[main] pthread_mutex_lock() renvoie EOWNERDEAD\n" +"[main] Maintenant rendre le mutex cohérent\n" +"[main] Le mutex est maintenant cohérent ; déverrouillage\n" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Program source" +msgstr "Source du programme" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define handle_error_en(en, msg) \\e\n" +" do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"static pthread_mutex_t mtx;\n" +"\\&\n" +"static void *\n" +"original_owner_thread(void *ptr)\n" +"{\n" +" printf(\"[original owner] Setting lock...\\en\");\n" +" pthread_mutex_lock(&mtx);\n" +" printf(\"[original owner] Locked. Now exiting without unlocking.\\en\");\n" +" pthread_exit(NULL);\n" +"}\n" +"\\&\n" +"int\n" +"main(void)\n" +"{\n" +" pthread_t thr;\n" +" pthread_mutexattr_t attr;\n" +" int s;\n" +"\\&\n" +" pthread_mutexattr_init(&attr);\n" +"\\&\n" +" pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);\n" +"\\&\n" +" pthread_mutex_init(&mtx, &attr);\n" +"\\&\n" +" pthread_create(&thr, NULL, original_owner_thread, NULL);\n" +"\\&\n" +" sleep(2);\n" +"\\&\n" +" /* \"original_owner_thread\" should have exited by now. */\n" +"\\&\n" +" printf(\"[main] Attempting to lock the robust mutex.\\en\");\n" +" s = pthread_mutex_lock(&mtx);\n" +" if (s == EOWNERDEAD) {\n" +" printf(\"[main] pthread_mutex_lock() returned EOWNERDEAD\\en\");\n" +" printf(\"[main] Now make the mutex consistent\\en\");\n" +" s = pthread_mutex_consistent(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_consistent\");\n" +" printf(\"[main] Mutex is now consistent; unlocking\\en\");\n" +" s = pthread_mutex_unlock(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_unlock\");\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +" } else if (s == 0) {\n" +" printf(\"[main] pthread_mutex_lock() unexpectedly succeeded\\en\");\n" +" exit(EXIT_FAILURE);\n" +" } else {\n" +" printf(\"[main] pthread_mutex_lock() unexpectedly failed\\en\");\n" +" handle_error_en(s, \"pthread_mutex_lock\");\n" +" }\n" +"}\n" +msgstr "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"#define handle_error_en(en, msg) \\e\n" +" do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0)\n" +"\\&\n" +"static pthread_mutex_t mtx;\n" +"\\&\n" +"static void *\n" +"original_owner_thread(void *ptr)\n" +"{\n" +" printf(\"[original owner] Mise en place du verrou...\\en\");\n" +" pthread_mutex_lock(&mtx);\n" +" printf(\"[original owner] Verrouillé. Sortie sans déverrouillage.\\en\");\n" +" pthread_exit(NULL);\n" +"}\n" +"\\&\n" +"int\n" +"main(void)\n" +"{\n" +" pthread_t thr;\n" +" pthread_mutexattr_t attr;\n" +" int s;\n" +"\\&\n" +" pthread_mutexattr_init(&attr);\n" +"\\&\n" +" pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);\n" +"\\&\n" +" pthread_mutex_init(&mtx, &attr);\n" +"\\&\n" +" pthread_create(&thr, NULL, original_owner_thread, NULL);\n" +"\\&\n" +" sleep(2);\n" +"\\&\n" +" /* \"original_owner_thread\" devrait avoir quitté maintenant. */\n" +"\\&\n" +" printf(\"[main] Tentative de verrouillage du mutex robuste.\\en\");\n" +" s = pthread_mutex_lock(&mtx);\n" +" if (s == EOWNERDEAD) {\n" +" printf(\"[main] pthread_mutex_lock() renvoie EOWNERDEAD\\en\");\n" +" printf(\"[main] Maintenant rendre le mutex cohérent\\en\");\n" +" s = pthread_mutex_consistent(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_consistent\");\n" +" printf(\"[main] Le mutex est maintenant cohérent ; déverrouillage\\en\");\n" +" s = pthread_mutex_unlock(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_unlock\");\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +" } else if (s == 0) {\n" +" printf(\"[main] pthread_mutex_lock() réussit de façon inattendue\\en\");\n" +" exit(EXIT_FAILURE);\n" +" } else {\n" +" printf(\"[main] pthread_mutex_lock() échoue de façon inattendue\\en\");\n" +" handle_error_en(s, \"pthread_mutex_lock\");\n" +" }\n" +"}\n" + +#. SRC END +#. 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<get_robust_list>(2), B<set_robust_list>(2), " +"B<pthread_mutex_consistent>(3), B<pthread_mutex_init>(3), " +"B<pthread_mutex_lock>(3), B<pthreads>(7)" +msgstr "" +"B<get_robust_list>(2), B<set_robust_list>(2), " +"B<pthread_mutex_consistent>(3), B<pthread_mutex_init>(3), " +"B<pthread_mutex_lock>(3), B<pthreads>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2022-12-04" +msgstr "4 décembre 2022" + +#. 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<pthread_mutexattr_getrobust>() and B<pthread_mutexattr_setrobust>() were " +"added in glibc 2.12." +msgstr "" +"B<pthread_mutexattr_getrobust>() et B<pthread_mutexattr_setrobust>() ont été " +"ajoutées dans la glibc version 2.12." + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "NOTES" +msgstr "NOTES" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" +"#include E<lt>errno.hE<gt>\n" +"#include E<lt>pthread.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define handle_error_en(en, msg) \\e\n" +" do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0)\n" +msgstr "" +"#define handle_error_en(en, msg) \\e\n" +" do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0)\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "static pthread_mutex_t mtx;\n" +msgstr "static pthread_mutex_t mtx;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"static void *\n" +"original_owner_thread(void *ptr)\n" +"{\n" +" printf(\"[original owner] Setting lock...\\en\");\n" +" pthread_mutex_lock(&mtx);\n" +" printf(\"[original owner] Locked. Now exiting without unlocking.\\en\");\n" +" pthread_exit(NULL);\n" +"}\n" +msgstr "" +"static void *\n" +"original_owner_thread(void *ptr)\n" +"{\n" +" printf(\"[original owner] Mise en place du verrou...\\en\");\n" +" pthread_mutex_lock(&mtx);\n" +" printf(\"[original owner] Verrouillé. Sortie sans déverrouillage.\\en\");\n" +" pthread_exit(NULL);\n" +"}\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(void)\n" +"{\n" +" pthread_t thr;\n" +" pthread_mutexattr_t attr;\n" +" int s;\n" +msgstr "" +"int\n" +"main(void)\n" +"{\n" +" pthread_t thr;\n" +" pthread_mutexattr_t attr;\n" +" int s;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " pthread_mutexattr_init(&attr);\n" +msgstr " pthread_mutexattr_init(&attr);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);\n" +msgstr " pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " pthread_mutex_init(&mtx, &attr);\n" +msgstr " pthread_mutex_init(&mtx, &attr);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " pthread_create(&thr, NULL, original_owner_thread, NULL);\n" +msgstr " pthread_create(&thr, NULL, original_owner_thread, NULL);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " sleep(2);\n" +msgstr " sleep(2);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* \"original_owner_thread\" should have exited by now. */\n" +msgstr " /* \"original_owner_thread\" devrait avoir quitté maintenant. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" printf(\"[main] Attempting to lock the robust mutex.\\en\");\n" +" s = pthread_mutex_lock(&mtx);\n" +" if (s == EOWNERDEAD) {\n" +" printf(\"[main] pthread_mutex_lock() returned EOWNERDEAD\\en\");\n" +" printf(\"[main] Now make the mutex consistent\\en\");\n" +" s = pthread_mutex_consistent(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_consistent\");\n" +" printf(\"[main] Mutex is now consistent; unlocking\\en\");\n" +" s = pthread_mutex_unlock(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_unlock\");\n" +msgstr "" +" printf(\"[main] Tentative de verrouillage du mutex robuste.\\en\");\n" +" s = pthread_mutex_lock(&mtx);\n" +" if (s == EOWNERDEAD) {\n" +" printf(\"[main] pthread_mutex_lock() renvoie EOWNERDEAD\\en\");\n" +" printf(\"[main] Maintenant rendre le mutex cohérent\\en\");\n" +" s = pthread_mutex_consistent(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_consistent\");\n" +" printf(\"[main] Le mutex est maintenant cohérent ; déverrouillage\\en\");\n" +" s = pthread_mutex_unlock(&mtx);\n" +" if (s != 0)\n" +" handle_error_en(s, \"pthread_mutex_unlock\");\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +" } else if (s == 0) {\n" +" printf(\"[main] pthread_mutex_lock() unexpectedly succeeded\\en\");\n" +" exit(EXIT_FAILURE);\n" +" } else {\n" +" printf(\"[main] pthread_mutex_lock() unexpectedly failed\\en\");\n" +" handle_error_en(s, \"pthread_mutex_lock\");\n" +" }\n" +"}\n" +msgstr "" +" exit(EXIT_SUCCESS);\n" +" } else if (s == 0) {\n" +" printf(\"[main] pthread_mutex_lock() réussit de façon inattendue\\en\");\n" +" exit(EXIT_FAILURE);\n" +" } else {\n" +" printf(\"[main] pthread_mutex_lock() échoue de façon inattendue\\en\");\n" +" handle_error_en(s, \"pthread_mutex_lock\");\n" +" }\n" +"}\n" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "3 mai 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" |