diff options
Diffstat (limited to 'po/fr/man3/sem_wait.3.po')
-rw-r--r-- | po/fr/man3/sem_wait.3.po | 825 |
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" |