summaryrefslogtreecommitdiffstats
path: root/po/fr/man3/sem_wait.3.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/fr/man3/sem_wait.3.po')
-rw-r--r--po/fr/man3/sem_wait.3.po825
1 files changed, 825 insertions, 0 deletions
diff --git a/po/fr/man3/sem_wait.3.po b/po/fr/man3/sem_wait.3.po
new file mode 100644
index 00000000..3f7c8301
--- /dev/null
+++ b/po/fr/man3/sem_wait.3.po
@@ -0,0 +1,825 @@
+# 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, 2013.
+# Denis Barbier <barbier@debian.org>, 2006, 2010.
+# David Prévot <david@tilapin.org>, 2010, 2012-2014.
+# Thomas Vincent <tvincent@debian.org>, 2019.
+# Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: perkamon\n"
+"POT-Creation-Date: 2024-03-01 17:07+0100\n"
+"PO-Revision-Date: 2023-03-09 15:13+0100\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.1\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "sem_wait"
+msgstr "sem_wait"
+
+#. 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 "sem_wait, sem_timedwait, sem_trywait - lock a semaphore"
+msgstr "sem_wait, sem_timedwait, sem_trywait - Verrouiller un sémaphore"
+
+#. 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>semaphore.hE<gt>>\n"
+msgstr "B<#include E<lt>semaphore.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 sem_wait(sem_t *>I<sem>B<);>\n"
+"B<int sem_trywait(sem_t *>I<sem>B<);>\n"
+"B<int sem_timedwait(sem_t *restrict >I<sem>B<,>\n"
+"B< const struct timespec *restrict >I<abs_timeout>B<);>\n"
+msgstr ""
+"B<int sem_wait(sem_t *>I<sem>B<);>\n"
+"B<int sem_trywait(sem_t *>I<sem>B<);>\n"
+"B<int sem_timedwait(sem_t *restrict >I<sem>B<,>\n"
+"B< const struct timespec *restrict >I<abs_timeout>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<sem_timedwait>():"
+msgstr "B<sem_timedwait>() :"
+
+#. 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>= 200112L\n"
+msgstr " _POSIX_C_SOURCE E<gt>= 200112L\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 ""
+"B<sem_wait>() decrements (locks) the semaphore pointed to by I<sem>. If "
+"the semaphore's value is greater than zero, then the decrement proceeds, and "
+"the function returns, immediately. If the semaphore currently has the value "
+"zero, then the call blocks until either it becomes possible to perform the "
+"decrement (i.e., the semaphore value rises above zero), or a signal handler "
+"interrupts the call."
+msgstr ""
+"B<sem_wait>() décrémente (verrouille) le sémaphore pointé par I<sem>. Si la "
+"valeur du sémaphore est plus grande que zéro, la décrémentation s'effectue "
+"et la fonction renvoie immédiatement. Si le sémaphore vaut zéro, l'appel "
+"bloquera jusqu'à ce qu’il devienne possible d'effectuer la décrémentation "
+"(c'est-à-dire la valeur du sémaphore devient positive) ou qu’un gestionnaire "
+"de signaux interrompe l'appel."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<sem_trywait>() is the same as B<sem_wait>(), except that if the decrement "
+"cannot be immediately performed, then call returns an error (I<errno> set to "
+"B<EAGAIN>) instead of blocking."
+msgstr ""
+"B<sem_trywait>() est pareil à B<sem_wait>(), excepté que si la "
+"décrémentation ne peut pas être effectuée immédiatement, l'appel renvoie une "
+"erreur (I<errno> vaut B<EAGAIN>) plutôt que de bloquer."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<sem_timedwait>() is the same as B<sem_wait>(), except that I<abs_timeout> "
+"specifies a limit on the amount of time that the call should block if the "
+"decrement cannot be immediately performed. The I<abs_timeout> argument "
+"points to a B<timespec>(3) structure that specifies an absolute timeout in "
+"seconds and nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)."
+msgstr ""
+"B<sem_timedwait>() est pareil à B<sem_wait>() excepté que I<abs_timeout> "
+"spécifie une limite sur le temps pendant lequel l'appel bloquera si la "
+"décrémentation ne peut pas être effectuée immédiatement. L'argument "
+"I<abs_timeout> pointe sur une structure B<timespec>(3) qui spécifie un temps "
+"absolu en secondes et nanosecondes depuis l'époque, 1er\\ janvier 1970 à\\ "
+"00:00:00 (UTC)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the timeout has already expired by the time of the call, and the "
+"semaphore could not be locked immediately, then B<sem_timedwait>() fails "
+"with a timeout error (I<errno> set to B<ETIMEDOUT>)."
+msgstr ""
+"Si le délai est déjà expiré à l'heure de l'appel et si le sémaphore ne peut "
+"pas être verrouillé immédiatement, B<sem_timedwait>() échoue avec l'erreur "
+"d'expiration de délai (I<errno> vaut B<ETIMEDOUT>)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the operation can be performed immediately, then B<sem_timedwait>() "
+"never fails with a timeout error, regardless of the value of "
+"I<abs_timeout>. Furthermore, the validity of I<abs_timeout> is not checked "
+"in this case."
+msgstr ""
+"Si l'opération peut être effectuée immédiatement, B<sem_timedwait>() "
+"n'échoue jamais avec une valeur d'expiration de délai, quelque soit la "
+"valeur de I<abs_timeout>. De plus, la validité de I<abs_timeout> n'est pas "
+"vérifiée dans ce cas."
+
+#. 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 ""
+"All of these functions return 0 on success; on error, the value of the "
+"semaphore is left unchanged, -1 is returned, and I<errno> is set to indicate "
+"the error."
+msgstr ""
+"Toutes ces fonctions renvoient B<0> si elles réussissent. Si elles échouent, "
+"la valeur du sémaphore n'est pas modifiée, elles renvoient B<-1> et écrivent "
+"I<errno> en conséquence."
+
+#. 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<EAGAIN>"
+msgstr "B<EAGAIN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<sem_trywait>()) The operation could not be performed without blocking (i."
+"e., the semaphore currently has the value zero)."
+msgstr ""
+"(B<sem_trywait>()) L'opération ne peut pas être effectuée sans bloquer "
+"(c'est-à-dire, le sémaphore a une valeur nulle)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINTR>"
+msgstr "B<EINTR>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The call was interrupted by a signal handler; see B<signal>(7)."
+msgstr ""
+"L'appel a été interrompu par un gestionnaire de signal ; consultez "
+"B<signal>(7)."
+
+#. 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 "I<sem> is not a valid semaphore."
+msgstr "I<sem> n'est pas un sémaphore valable."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<sem_timedwait>()) The value of I<abs_timeout.tv_nsecs> is less than 0, "
+"or greater than or equal to 1000 million."
+msgstr ""
+"(B<sem_timedwait>()) La valeur de I<abs_timeout.tv_nsecs> est plus petite "
+"que B<0> ou supérieure ou égale à 1 milliard."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ETIMEDOUT>"
+msgstr "B<ETIMEDOUT>"
+
+#. POSIX.1-2001 also allows EDEADLK -- "A deadlock condition
+#. was detected", but this does not occur on Linux(?).
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(B<sem_timedwait>()) The call timed out before the semaphore could be "
+"locked."
+msgstr ""
+"(B<sem_timedwait>()) Le délai a expiré avant que le sémaphore ait pu être "
+"verrouillé."
+
+#. 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<sem_wait>(),\n"
+"B<sem_trywait>(),\n"
+"B<sem_timedwait>()"
+msgstr ""
+"B<sem_wait>(),\n"
+"B<sem_trywait>(),\n"
+"B<sem_timedwait>()"
+
+#. 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: 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-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."
+msgstr "POSIX.1-2001."
+
+#. 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 (somewhat trivial) program shown below operates on an unnamed "
+"semaphore. The program expects two command-line arguments. The first "
+"argument specifies a seconds value that is used to set an alarm timer to "
+"generate a B<SIGALRM> signal. This handler performs a B<sem_post>(3) to "
+"increment the semaphore that is being waited on in I<main()> using "
+"B<sem_timedwait>(). The second command-line argument specifies the length "
+"of the timeout, in seconds, for B<sem_timedwait>(). The following shows "
+"what happens on two different runs of the program:"
+msgstr ""
+"Le (quelque peu trivial) programme suivant opère sur un sémaphore non nommé. "
+"Il attend deux arguments sur la ligne de commande. Le premier argument "
+"spécifie une valeur en secondes qui est utilisée pour configurer une alarme "
+"pour générer un signal B<SIGALRM>. Ce gestionnaire effectue un "
+"B<sem_post>(3) pour incrémenter le sémaphore qui est attendu dans le "
+"I<main()> en utilisant B<sem_timedwait>(). Le second argument de la ligne de "
+"commande spécifie la durée, en secondes, du délai d'attente pour "
+"B<sem_timedwait>(). Ci-dessous, le résultat de deux exécutions différentes "
+"du 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 2 3>\n"
+"About to call sem_timedwait()\n"
+"sem_post() from handler\n"
+"sem_timedwait() succeeded\n"
+"$B< ./a.out 2 1>\n"
+"About to call sem_timedwait()\n"
+"sem_timedwait() timed out\n"
+msgstr ""
+"$B< ./a.out 2 3>\n"
+"main() est sur le point d'appeler sem_timedwait()\n"
+"sem_post() depuis le gestionnaire\n"
+"sem_timedwait() a réussi\n"
+"$B< ./a.out 2 1>\n"
+"main() est sur le point d'appeler sem_timedwait()\n"
+"sem_timedwait() a expiré\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>semaphore.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"\\&\n"
+"#include E<lt>assert.hE<gt>\n"
+"\\&\n"
+"sem_t sem;\n"
+"\\&\n"
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+"\\&\n"
+"static void\n"
+"handler(int sig)\n"
+"{\n"
+" write(STDOUT_FILENO, \"sem_post() from handler\\en\", 24);\n"
+" if (sem_post(&sem) == -1) {\n"
+" write(STDERR_FILENO, \"sem_post() failed\\en\", 18);\n"
+" _exit(EXIT_FAILURE);\n"
+" }\n"
+"}\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sigaction sa;\n"
+" struct timespec ts;\n"
+" int s;\n"
+"\\&\n"
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s E<lt>alarm-secsE<gt> E<lt>wait-secsE<gt>\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\n"
+"\\&\n"
+" /* Establish SIGALRM handler; set alarm timer using argv[1]. */\n"
+"\\&\n"
+" sa.sa_handler = handler;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_flags = 0;\n"
+" if (sigaction(SIGALRM, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+"\\&\n"
+" alarm(atoi(argv[1]));\n"
+"\\&\n"
+" /* Calculate relative interval as current time plus\n"
+" number of seconds given argv[2]. */\n"
+"\\&\n"
+" if (clock_gettime(CLOCK_REALTIME, &ts) == -1)\n"
+" handle_error(\"clock_gettime\");\n"
+"\\&\n"
+" ts.tv_sec += atoi(argv[2]);\n"
+"\\&\n"
+" printf(\"%s() about to call sem_timedwait()\\en\", __func__);\n"
+" while ((s = sem_timedwait(&sem, &ts)) == -1 && errno == EINTR)\n"
+" continue; /* Restart if interrupted by handler. */\n"
+"\\&\n"
+" /* Check what happened. */\n"
+"\\&\n"
+" if (s == -1) {\n"
+" if (errno == ETIMEDOUT)\n"
+" printf(\"sem_timedwait() timed out\\en\");\n"
+" else\n"
+" perror(\"sem_timedwait\");\n"
+" } else\n"
+" printf(\"sem_timedwait() succeeded\\en\");\n"
+"\\&\n"
+" exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+
+#. 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<clock_gettime>(2), B<sem_getvalue>(3), B<sem_post>(3), B<timespec>(3), "
+"B<sem_overview>(7), B<time>(7)"
+msgstr ""
+"B<clock_gettime>(2), B<sem_getvalue>(3), B<sem_post>(3), B<timespec>(3), "
+"B<sem_overview>(7), B<time>(7)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2022-12-15"
+msgstr "15 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 "POSIX.1-2001, POSIX.1-2008."
+msgstr "POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>semaphore.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>semaphore.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>time.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "#include E<lt>assert.hE<gt>\n"
+msgstr "#include E<lt>assert.hE<gt>\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "sem_t sem;\n"
+msgstr "sem_t sem;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+msgstr ""
+"#define handle_error(msg) \\e\n"
+" do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"static void\n"
+"handler(int sig)\n"
+"{\n"
+" write(STDOUT_FILENO, \"sem_post() from handler\\en\", 24);\n"
+" if (sem_post(&sem) == -1) {\n"
+" write(STDERR_FILENO, \"sem_post() failed\\en\", 18);\n"
+" _exit(EXIT_FAILURE);\n"
+" }\n"
+"}\n"
+msgstr ""
+"static void\n"
+"handler(int sig)\n"
+"{\n"
+" write(STDOUT_FILENO, \"sem_post() depuis le gestionnaire\\en\", 24);\n"
+" if (sem_post(&sem) == -1) {\n"
+" write(STDERR_FILENO, \"sem_post() a échoué\\en\", 18);\n"
+" _exit(EXIT_FAILURE);\n"
+" }\n"
+"}\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sigaction sa;\n"
+" struct timespec ts;\n"
+" int s;\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sigaction sa;\n"
+" struct timespec ts;\n"
+" int s;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage: %s E<lt>alarm-secsE<gt> E<lt>wait-secsE<gt>\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" if (argc != 3) {\n"
+" fprintf(stderr, \"Usage : %s E<lt>alarme-secsE<gt> E<lt>attente-secsE<gt>\\en\",\n"
+" argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\n"
+msgstr ""
+" if (sem_init(&sem, 0, 0) == -1)\n"
+" handle_error(\"sem_init\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Establish SIGALRM handler; set alarm timer using argv[1]. */\n"
+msgstr ""
+" /* Établit le gestionnaire de signal pour SIGALARM ;\n"
+" fixe le chronomètre de l'alarme selon argv[1]. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" sa.sa_handler = handler;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_flags = 0;\n"
+" if (sigaction(SIGALRM, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+msgstr ""
+" sa.sa_handler = handler;\n"
+" sigemptyset(&sa.sa_mask);\n"
+" sa.sa_flags = 0;\n"
+" if (sigaction(SIGALRM, &sa, NULL) == -1)\n"
+" handle_error(\"sigaction\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " alarm(atoi(argv[1]));\n"
+msgstr " alarm(atoi(argv[1]));\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* Calculate relative interval as current time plus\n"
+" number of seconds given argv[2]. */\n"
+msgstr ""
+" /* Calcule l'intervalle relatif comme l'heure actuelle plus\n"
+" un certain nombre de secondes données dans argv[2]. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (clock_gettime(CLOCK_REALTIME, &ts) == -1)\n"
+" handle_error(\"clock_gettime\");\n"
+msgstr ""
+" if (clock_gettime(CLOCK_REALTIME, &ts) == -1)\n"
+" handle_error(\"clock_gettime\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " ts.tv_sec += atoi(argv[2]);\n"
+msgstr " ts.tv_sec += atoi(argv[2]);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"%s() about to call sem_timedwait()\\en\", __func__);\n"
+" while ((s = sem_timedwait(&sem, &ts)) == -1 && errno == EINTR)\n"
+" continue; /* Restart if interrupted by handler. */\n"
+msgstr ""
+" printf(\"%s() est sur le point d'appeler sem_timedwait()\\en\");\n"
+" while ((s = sem_timedwait(&sem, &ts)) == -1 && errno == EINTR)\n"
+" continue; /* Redémarre si interrompu par le gestionnaire. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Check what happened. */\n"
+msgstr " /* Observe ce qui s'est passé. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (s == -1) {\n"
+" if (errno == ETIMEDOUT)\n"
+" printf(\"sem_timedwait() timed out\\en\");\n"
+" else\n"
+" perror(\"sem_timedwait\");\n"
+" } else\n"
+" printf(\"sem_timedwait() succeeded\\en\");\n"
+msgstr ""
+" if (s == -1) {\n"
+" if (errno == ETIMEDOUT)\n"
+" printf(\"sem_timedwait() a expiré\\en\");\n"
+" else\n"
+" perror(\"sem_timedwait\");\n"
+" } else\n"
+" printf(\"sem_timedwait() a réussi\\en\");\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+" exit((s == 0) ? EXIT_SUCCESS : EXIT_FAILURE);\n"
+"}\n"
+
+#. 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"