# French translation of manpages
# This file is distributed under the same license as the manpages-l10n package.
# Copyright © of this file:
# Christophe Blaess , 1996-2003.
# Stéphan Rafin , 2002.
# Thierry Vignaud , 1999, 2002.
# François Micaux, 2002.
# Alain Portal , 2003-2008.
# Jean-Philippe Guérard , 2005-2006.
# Jean-Luc Coulon (f5ibh) , 2006-2007.
# Julien Cristau , 2006-2007.
# Thomas Huriaux , 2006-2008.
# Nicolas François , 2006-2008.
# Florentin Duneau , 2006-2010.
# Simon Paillard , 2006, 2013-2014.
# Denis Barbier , 2006, 2010.
# David Prévot , 2010-2014.
# Jean-Philippe MENGUAL , 2020-2024.
msgid ""
msgstr ""
"Project-Id-Version: perkamon\n"
"POT-Creation-Date: 2024-03-01 16:56+0100\n"
"PO-Revision-Date: 2024-01-22 14:20+0100\n"
"Last-Translator: Jean-Philippe MENGUAL \n"
"Language-Team: French \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: Weblate 3.1.1\n"
#. type: TH
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "futex"
msgstr "futex"
#. 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 "futex - fast user-space locking"
msgstr "futex – Verrouillage rapide en mode utilisateur"
#. 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, I<-lc>)"
msgstr "Bibliothèque C standard (I, 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 Elinux/futex.hE> /* Definition of B constants */\n"
"B<#include Esys/syscall.hE> /* Definition of B constants */\n"
"B<#include Eunistd.hE>\n"
msgstr ""
"B<#include Elinux/futex.hE> /* Définition des constantes B */\n"
"B<#include Esys/syscall.hE> /* Définition des constantes B */\n"
"B<#include Eunistd.hE>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid ""
"BIB<, int >IB<, uint32_t >IB<,>\n"
"B< const struct timespec *>IB<,>I< > /* or: BIB< */>\n"
"B< uint32_t *>IB<, uint32_t >IB<);>\n"
msgstr ""
"BIB<, int >IB<, uint32_t >IB<,>\n"
"B< const struct timespec *>IB<,>I< > /* ou : BIB< */>\n"
"B< uint32_t *>IB<, uint32_t >IB<);>\n"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I: glibc provides no wrapper for B(), necessitating the use of "
"B(2)."
msgstr ""
"I : la glibc ne fournit pas de fonction autour de B(), "
"nécessitant l'utilisation de B(2)."
#. 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() system call provides a method for waiting until a certain "
"condition becomes true. It is typically used as a blocking construct in the "
"context of shared-memory synchronization. When using futexes, the majority "
"of the synchronization operations are performed in user space. A user-space "
"program employs the B() system call only when it is likely that the "
"program has to block for a longer time until the condition becomes true. "
"Other B() operations can be used to wake any processes or threads "
"waiting for a particular condition."
msgstr ""
"L'appel système B() offre une méthode pour attendre qu'une condition "
"soit vraie. On l'utilise en général comme construction de blocage dans le "
"contexte de la synchronisation de la mémoire partagée. Quand on utilise des "
"futex, la majorité des opérations de synchronisation s'effectue dans "
"l'espace utilisateur. Un programme de l'espace utilisateur n'utilise l'appel "
"système B() que lorsqu'il est probable qu'il doive se bloquer plus "
"longtemps avant que la condition ne soit vraie. D'autres opérations "
"B() peuvent être utilisées pour réveiller des processus ou des "
"threads qui attendent une condition en particulier."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"A futex is a 32-bit value\\[em]referred to below as a I\\[em]whose address is supplied to the B() system call. "
"(Futexes are 32 bits in size on all platforms, including 64-bit systems.) "
"All futex operations are governed by this value. In order to share a futex "
"between processes, the futex is placed in a region of shared memory, created "
"using (for example) B(2) or B(2). (Thus, the futex word may "
"have different virtual addresses in different processes, but these addresses "
"all refer to the same location in physical memory.) In a multithreaded "
"program, it is sufficient to place the futex word in a global variable "
"shared by all threads."
msgstr ""
"Un futex est une valeur 32 bits — désignée ci-dessous comme « I » —dont l'adresse est fournie à l'appel système B() (les futex "
"ont une taille de 32 bits sur toutes les plateformes, y compris les systèmes "
"64 bits). Toutes les opérations futex sont pilotées par cette valeur. Afin "
"de partager un futex entre des processus, le futex est placé dans une zone "
"de la mémoire partagée créée en utilisant (par exemple) B(2) ou "
"B(2) (ainsi, le mot futex peut avoir plusieurs adresses virtuelles "
"dans différents processus, mais ces adresses se rapportent toutes au même "
"emplacement de la mémoire physique). Dans un programme multithreadé, il "
"suffit de mettre le mot futex dans une variable globale partagée par tous "
"les threads."
#
#. Notes from Darren Hart (Dec 2015):
#. Totally ordered with respect futex operations refers to semantics
#. of the ACQUIRE/RELEASE operations and how they impact ordering of
#. memory reads and writes. The kernel futex operations are protected
#. by spinlocks, which ensure that all operations are serialized
#. with respect to one another.
#. This is a lot to attempt to define in this document. Perhaps a
#. reference to linux/Documentation/memory-barriers.txt as a footnote
#. would be sufficient? Or perhaps for this manual, "serialized" would
#. be sufficient, with a footnote regarding "totally ordered" and a
#. pointer to the memory-barrier documentation?
#. FIXME(Torvald Riegel):
#. Eventually we want to have some text in NOTES to satisfy
#. the reference in the following sentence
#. See NOTES for a detailed specification of
#. the synchronization semantics.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"When executing a futex operation that requests to block a thread, the kernel "
"will block only if the futex word has the value that the calling thread "
"supplied (as one of the arguments of the B() call) as the expected "
"value of the futex word. The loading of the futex word's value, the "
"comparison of that value with the expected value, and the actual blocking "
"will happen atomically and will be totally ordered with respect to "
"concurrent operations performed by other threads on the same futex word. "
"Thus, the futex word is used to connect the synchronization in user space "
"with the implementation of blocking by the kernel. Analogously to an atomic "
"compare-and-exchange operation that potentially changes shared memory, "
"blocking via a futex is an atomic compare-and-block operation."
msgstr ""
"Lors de l'exécution d'une opération futex qui demande le blocage d'un "
"thread, le noyau ne le bloquera que si le mot futex a une valeur fournie par "
"le thread appelant (en tant qu'un des paramètres de l'appel B()) "
"correspondant à celle prévue du mot futex. Le chargement de la valeur du mot "
"futex, la comparaison de cette valeur avec celle attendue et le blocage "
"s'effectueront de manière atomique et seront entièrement organisés par "
"rapport aux opérations qui sont effectuées en parallèle par d'autres threads "
"sur le même mot futex. Ainsi, le mot futex est utilisé pour relier la "
"synchronisation de l'espace utilisateur et l'implémentation du blocage par "
"le noyau. Tout comme une opération compare-and-exchange atomique qui modifie "
"potentiellement la mémoire partagée, le blocage par futex est une opération "
"compare-and-block atomique."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"One use of futexes is for implementing locks. The state of the lock (i.e., "
"acquired or not acquired) can be represented as an atomically accessed flag "
"in shared memory. In the uncontended case, a thread can access or modify "
"the lock state with atomic instructions, for example atomically changing it "
"from not acquired to acquired using an atomic compare-and-exchange "
"instruction. (Such instructions are performed entirely in user mode, and "
"the kernel maintains no information about the lock state.) On the other "
"hand, a thread may be unable to acquire a lock because it is already "
"acquired by another thread. It then may pass the lock's flag as a futex "
"word and the value representing the acquired state as the expected value to "
"a B() wait operation. This B() operation will block if and "
"only if the lock is still acquired (i.e., the value in the futex word still "
"matches the \"acquired state\"). When releasing the lock, a thread has to "
"first reset the lock state to not acquired and then execute a futex "
"operation that wakes threads blocked on the lock flag used as a futex word "
"(this can be further optimized to avoid unnecessary wake-ups). See "
"B(7) for more detail on how to use futexes."
msgstr ""
"Une utilisation des futex consiste à implémenter des verrous. L'état du "
"verrou (c'est-à-dire acquis ou non acquis) peut se représenter comme un "
"drapeau auquel on a un accès atomique en mémoire partagée. En absence de "
"conflit (uncontended case), un thread peut accéder et modifier l'état du "
"verrou avec des instructions atomiques, par exemple le passer de manière "
"atomique de l'état non acquis à acquis, en utilisant une instruction compare-"
"and-exchange atomique (de telles instructions s'effectuent entièrement dans "
"l'espace utilisateur et le noyau ne conserve aucune information sur l'état "
"du verrou). D'un autre côté, un thread peut être incapable d'acquérir un "
"verrou parce qu'il est déjà acquis par un autre thread. Il peut alors passer "
"l'attribut du verrou en tant que mot futex, et la valeur représentant l'état "
"acquis en tant que valeur attendue pour l'opération d'attente de B(). "
"Cette opération B() bloquera si et seulement si le verrou est encore "
"acquis (c'est-à-dire si la valeur du mot futex correspond toujours à "
"« l'état acquis »). Lorsque le verrou est relâché, le thread doit d'abord "
"réinitialiser l'état du verrou sur non acquis puis exécuter une opération "
"futex qui réveille les threads bloqués par le drapeau de verrou utilisé en "
"tant que mot futex (cela peut être mieux optimisé pour éviter les réveils "
"inutiles). Voir B(7) pour plus de détails sur la manière d'utiliser "
"les futex."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Besides the basic wait and wake-up futex functionality, there are further "
"futex operations aimed at supporting more complex use cases."
msgstr ""
"Outre la fonctionnalité de base du futex consistant à attendre et à "
"réveiller, d'autres opérations futex visent à gérer des cas d'utilisation "
"plus complexes."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Note that no explicit initialization or destruction is necessary to use "
"futexes; the kernel maintains a futex (i.e., the kernel-internal "
"implementation artifact) only while operations such as B, "
"described below, are being performed on a particular futex word."
msgstr ""
"Remarquez qu'aucune initialisation ou destruction explicite n'est nécessaire "
"pour utiliser les futex ; le noyau ne garde un futex (c'est-à-dire un "
"artefact d'implémentation interne au noyau) que pendant que les opérations "
"telles que B, décrite ci-dessous, s'effectuent sur un mot futex "
"en particulier."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Arguments"
msgstr "Arguments"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The I argument points to the futex word. On all platforms, futexes "
"are four-byte integers that must be aligned on a four-byte boundary. The "
"operation to perform on the futex is specified in the I argument; "
"I is a value whose meaning and purpose depends on I."
msgstr ""
"Le paramètre I pointe vers un mot futex. Sur toutes les plateformes, "
"les futex sont des entiers de quatre octets qui doivent être alignés sur une "
"limite de quatre octets. L'opération à effectuer sur le futex est indiquée "
"dans le paramètre de I ; I est une valeur dont la "
"signification et l'objectif dépendent de I."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The remaining arguments (I, I, and I) are required "
"only for certain of the futex operations described below. Where one of "
"these arguments is not required, it is ignored."
msgstr ""
"Les autres paramètres (I, I et I) ne sont nécessaires "
"que pour certaines opérations futex décrites ci-dessous. Si un de ces "
"arguments n'est pas nécessaire, il est ignoré."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"For several blocking operations, the I argument is a pointer to a "
"I structure that specifies a timeout for the operation. However, "
"notwithstanding the prototype shown above, for some operations, the least "
"significant four bytes of this argument are instead used as an integer whose "
"meaning is determined by the operation. For these operations, the kernel "
"casts the I value first to I, then to I, "
"and in the remainder of this page, this argument is referred to as I "
"when interpreted in this fashion."
msgstr ""
"Pour plusieurs opérations de blocage, le paramètre I est un "
"pointeur vers une structure I qui indique la durée maximale de "
"l'opération. Toutefois, contrairement au prototype décrit ci-dessus, pour "
"certaines opérations, les quatre octets les moins significatifs de ce "
"paramètre sont utilisés comme un entier dont la signification est déterminée "
"par l'opération. Pour ces opérations, le noyau diffuse la valeur I "
"d'abord à I, puis à I, et dans le reste de cette "
"page, ce paramètre est désigné par I quand il est interprété de cette "
"manière."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"Where it is required, the I argument is a pointer to a second futex "
"word that is employed by the operation."
msgstr ""
"Lorsqu'il est nécessaire, le paramètre I est un pointeur vers un "
"deuxième mot futex utilisé par l'opération."
#
#. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The interpretation of the final integer argument, I, depends on the "
"operation."
msgstr ""
"L'interprétation du paramètre de l'entier final, I, dépend de "
"l'opération."
#. type: SS
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "Futex operations"
msgstr "Opérations futex"
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The I argument consists of two parts: a command that specifies the "
"operation to be performed, bitwise ORed with zero or more options that "
"modify the behaviour of the operation. The options that may be included in "
"I are as follows:"
msgstr ""
"Le paramètre I est en deux parties : une commande qui indique "
"l'opération à effectuer et un bit ORed avec zéro ou plusieurs options qui "
"changent le comportement de l'opération. Les options qui peuvent être "
"incluses dans I sont les suivantes :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (since Linux 2.6.22)"
msgstr "B (depuis Linux 2.6.22)"
#. commit 34f01cc1f512fa783302982776895c73714ebbc2
#. I.e., It allows the kernel choose the fast path for validating
#. the user-space address and avoids expensive VMA lookups,
#. taking reference counts on file backing store, and so on.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This option bit can be employed with all futex operations. It tells the "
"kernel that the futex is process-private and not shared with another process "
"(i.e., it is being used for synchronization only between threads of the same "
"process). This allows the kernel to make some additional performance "
"optimizations."
msgstr ""
"Ce bit d'option peut être utilisé avec toutes les opérations futex. Il dit "
"au noyau que le futex est un processus privé non partagé avec d'autres "
"processus (c'est-à-dire qu'il n'est utilisé que pour la synchronisation "
"entre les threads du même processus). Cela permet au noyau d'effectuer des "
"optimisations de performance supplémentaires."
#. except the obsolete FUTEX_FD, for which the "private" flag was
#. meaningless
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"As a convenience, Ilinux/futex.hE> defines a set of constants with "
"the suffix B<_PRIVATE> that are equivalents of all of the operations listed "
"below, but with the B ORed into the constant value. "
"Thus, there are B, B, and so on."
msgstr ""
"Par commodité, Ilinux/futex.hE> définit un ensemble de constantes "
"dont le suffixe est B<_PRIVATE> et qui sont équivalentes à toutes les "
"opérations listées ci-dessous mais avec l'attribut B "
"ORed dans la valeur de la constante. On trouve ainsi B, "
"B et ainsi de suite."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (since Linux 2.6.28)"
msgstr "B (depuis Linux 2.6.28)"
#. commit 1acdac104668a0834cfa267de9946fac7764d486
#. commit 337f13046ff03717a9e99675284a817527440a49
#. commit bf22a6976897977b0a3f1aeba6823c959fc4fdae
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This option bit can be employed only with the B, "
"B, (since Linux 4.5) B, and (since Linux "
"5.14) B operations."
msgstr ""
"Ce bit d'option ne peut être utilisé qu'avec les opérations "
"B, B (depuis Linux 4.5), "
"B (depuis Linux 4.5) et B (depuis Linux 5.14)."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If this option is set, the kernel measures the I against the "
"B clock."
msgstr ""
"Si cette option est positionnée, le noyau mesure le I par rapport à "
"l'horloge B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If this option is not set, the kernel measures the I against the "
"B clock."
msgstr ""
"Si cette option n'est pas positionnée, le noyau mesure le I par "
"rapport à l'horloge B."
#. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The operation specified in I is one of the following:"
msgstr "L'opération indiquée dans I prend une de ces valeurs\\ :"
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (since Linux 2.6.0)"
msgstr "B (depuis Linux 2.6.0)"
#. Strictly speaking, since some time in Linux 2.5.x
#. FIXME: Torvald, I think we may need to add some explanation of
#. "totally ordered" here.
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This operation tests that the value at the futex word pointed to by the "
"address I still contains the expected value I, and if so, then "
"sleeps waiting for a B operation on the futex word. The load of "
"the value of the futex word is an atomic memory access (i.e., using atomic "
"machine instructions of the respective architecture). This load, the "
"comparison with the expected value, and starting to sleep are performed "
"atomically and totally ordered with respect to other futex operations on the "
"same futex word. If the thread starts to sleep, it is considered a waiter "
"on this futex word. If the futex value does not match I, then the call "
"fails immediately with the error B."
msgstr ""
"Cette option teste que la valeur du mot futex vers laquelle pointe l'adresse "
"I contient toujours la valeur I attendue, et si tel est le cas, "
"elle s'endort jusqu'à une opération B sur le mot futex. Le "
"chargement de la valeur du mot futex est un accès en mémoire atomique (c'est-"
"à-dire qu'il utilise des instructions machine atomiques de l'architecture "
"concernée). Ce chargement, la comparaison avec la valeur attendue et la mise "
"en sommeil s'effectuent de manière atomique et sont totalement organisés "
"selon les autres opérations futex sur le même mot futex. Si le thread "
"commence à dormir, il est considéré comme en attente de ce mot futex. Si la "
"valeur futex ne correspond pas à I, l'appel échoue immédiatement avec "
"l'erreur B."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"The purpose of the comparison with the expected value is to prevent lost "
"wake-ups. If another thread changed the value of the futex word after the "
"calling thread decided to block based on the prior value, and if the other "
"thread executed a B operation (or similar wake-up) after the "
"value change and before this B operation, then the calling "
"thread will observe the value change and will not start to sleep."
msgstr ""
"Le but de la comparaison avec la valeur attendue est d'empêcher des réveils "
"perdus. Si un autre thread a changé la valeur du mot futex après que le "
"thread a décidé de se bloquer en se fondant sur la valeur d'avant, et si "
"l'autre thread a effectué une opération B (ou un réveil "
"équivalent) après le changement de cette valeur et avant cette opération "
"B, le thread appelant observera cette valeur et ne commencera "
"pas à dormir."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"If the I is not NULL, the structure it points to specifies a "
"timeout for the wait. (This interval will be rounded up to the system clock "
"granularity, and is guaranteed not to expire early.) The timeout is by "
"default measured according to the B clock, but, since Linux "
"4.5, the B clock can be selected by specifying "
"B in I. If I is NULL, the call "
"blocks indefinitely."
msgstr ""
"Si le I n'est pas NULL, la structure vers laquelle il pointe "
"indique un délai d'attente (cet intervalle sera arrondi à la valeur "
"supérieure à partir de la granularité de l'horloge système et il est garanti "
"de ne pas expirer en avance). Le délai est mesuré par défaut par rapport à "
"l'horloge B mais depuis Linux 4.5, l'horloge "
"B peut être choisie en indiquant B "
"dans I. Si le I est NULL, l'appel se bloque indéfiniment."
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"I: for B, I is interpreted as a I "
"value. This differs from other futex operations, where I is "
"interpreted as an absolute value. To obtain the equivalent of B "
"with an absolute timeout, employ B with I specified "
"as B."
msgstr ""
"I : pour B, le I est interprété comme une "
"I relative. Cela diffère des autres opérations futex où le "
"I est interprété comme une valeur absolue. Pour obtenir "
"l'équivalent de B, avec un délai absolu, utilisez "
"B en indiquant I comme B."
#
#
#. FIXME . (Torvald) I think we should remove this. Or maybe adapt to a
#. different example.
#. For
#. .BR futex (7),
#. this call is executed if decrementing the count gave a negative value
#. (indicating contention),
#. and will sleep until another process or thread releases
#. the futex and executes the
#. .B FUTEX_WAKE
#. operation.
#. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The arguments I and I are ignored."
msgstr "Les paramètres I et I sont ignorés."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (since Linux 2.6.0)"
msgstr "B (depuis Linux 2.6.0)"
#. Strictly speaking, since Linux 2.5.x
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This operation wakes at most I of the waiters that are waiting (e.g., "
"inside B) on the futex word at the address I. Most "
"commonly, I is specified as either 1 (wake up a single waiter) or "
"B (wake up all waiters). No guarantee is provided about which "
"waiters are awoken (e.g., a waiter with a higher scheduling priority is not "
"guaranteed to be awoken in preference to a waiter with a lower priority)."
msgstr ""
"Cette opération réveille jusqu'à I éléments en attente (comme dans "
"B) sur le mot futex à l'adresse I. Généralement, I "
"est indiqué soit sous la forme de B<1> (réveil d'un seul élément en attente) "
"soit avec B (réveil de tous les éléments en attente). Vous n'avez "
"aucune garantie quant aux éléments qui sont réveillés (par exemple un "
"élément en attente dont la priorité d'ordonnancement élevée n'est pas "
"garanti de se réveiller avant un autre d'une priorité plus basse)."
#
#
#
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid "The arguments I, I, and I are ignored."
msgstr "Les paramètres I, I et I sont ignorés."
#. type: TP
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
#, no-wrap
msgid "B (from Linux 2.6.0 up to and including Linux 2.6.25)"
msgstr "B (de Linux 2.6.0 jusqu'à Linux 2.6.25 inclus)"
#. Strictly speaking, from Linux 2.5.x to Linux 2.6.25
#. type: Plain text
#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
msgid ""
"This operation creates a file descriptor that is associated with the futex "
"at I. The caller must close the returned file descriptor after use. "
"When another process or thread performs a B on the futex word, "
"the file descriptor indicates as being readable with B