[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] po4a://manpages-fr/futex/po/fr.po 20f 172u



Bonjour,

Le 10/07/2020 à 00:21, Jean-Philippe MENGUAL a écrit :
> Merci pour vos relectures.
>
> Amicalement,

Détails et suggestions,

J'ai repris le pluriel de futex : futexs au lieu de futexes ;

Si le choix se porte sur futexes, cf 2° diff aussi.

J'ai fait de même du coup pour le terme mutex.

Même si mettre un s à la suite d'un x est bizarre, peut-être que le plus
logique serait :

un futex / des futex

Amicalement,

bubu

--- futex.2.po	2020-07-10 09:04:16.963142438 +0200
+++ futex.2.relu.po	2020-07-10 15:16:39.374215186 +0200
@@ -100,7 +100,7 @@
 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
 msgstr ""
 "I<Note> : il n'existe pas d'enveloppe pour cet appel système dans la glibc ; "
-"voir NOTES."
+"voir REMARQUES."
 
 #. type: SH
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -144,7 +144,7 @@
 "sufficient to place the futex word in a global variable shared by all "
 "threads."
 msgstr ""
-"UIne futex est une valeur 32 bits - désignée ci-dessous un « I<mot futex> » "
+"Une futex est une valeur 32 bits - désignée ci-dessous comme « I<mot futex> » "
 "- dont l'adresse est fournie à l'appel système B<futex>() (les futexs 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 "
@@ -225,7 +225,7 @@
 "Une utilisation des futexs 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. Dans le "
-"« uncontended case », un thread peut accéder et modifier un l'état du verrou "
+"« 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 "
@@ -241,7 +241,7 @@
 "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<futex>(7) pour plus de détails sur la manière d'utiliser "
-"les futexes."
+"les futexs."
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -262,7 +262,7 @@
 "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 futexes ; le noyau ne garde un futex (c'est-o-dire un "
+"pour utiliser les futexs ; le noyau ne garde un futex (c'est-à-dire un "
 "arthefact d'implémentation interne au noyau) que pendant que les opérations "
 "telles que B<FUTEX_WAIT>, décrite ci-dessous, s'effectuent sur un mot futex "
 "en particulier."
@@ -282,7 +282,7 @@
 "I<val> is a value whose meaning and purpose depends on I<futex_op>."
 msgstr ""
 "Le paramètre I<uaddr> pointe vers un mot futex. Sur toutes les plateformes, "
-"les futexes sont des entiers de quatre octets qui doivent être alignés sur "
+"les futexs sont des entiers de quatre octets qui doivent être alignés sur "
 "un boundary de quatre octets. L'opération à effectuer sur le futex est "
 "indiquée dans le paramètre de I<futex_op> ; I<val> est une valeur dont la "
 "signification et l'objectif dépendent de I<futex_op>."
@@ -311,7 +311,7 @@
 "when interpreted in this fashion."
 msgstr ""
 "Pour plusieurs opérations de blocage, le paramètre I<timeout> est un "
-"pointeur vers une structure I<timespec> qui indique la durée maimale de "
+"pointeur vers une structure I<timespec> 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 "
@@ -355,7 +355,7 @@
 "I<futex_op> are as follows:"
 msgstr ""
 "Le paramètre I<futex_op> est en deux parties : une commande qui indique "
-"l'opération à effectueret un bit ORed avec zéro ou plusieurs options qui "
+"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<futex_op> sont les suivantes :"
 
@@ -424,7 +424,7 @@
 "If this option is set, the kernel measures the I<timeout> against the "
 "B<CLOCK_REALTIME> clock."
 msgstr ""
-"Si cette option est définie, le noyau mesure le I<timeout> par rapport à "
+"Si cette option est positionnée, le noyau mesure le I<timeout> par rapport à "
 "l'horloge B<CLOCK_REALTIME>."
 
 #. type: Plain text
@@ -433,7 +433,7 @@
 "If this option is not set, the kernel measures the I<timeout> against the "
 "B<CLOCK_MONOTONIC> clock."
 msgstr ""
-"Si cette option n'est pas définie, le noyau mesure le I<timeout> par rapport "
+"Si cette option n'est pas positionnée, le noyau mesure le I<timeout> par rapport "
 "à l'horloge B<CLOCK_MONOTONIC>."
 
 #. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -468,12 +468,12 @@
 "Cette option teste que la valeur du mot futex vers laquelle pointe l'adresse "
 "I<uaddr> contient toujours la valeur I<val> attendue, et si tel est le cas, "
 "elle s'endort jusqu'à une opération B<FUTEX_WAKE> sur le mot futex. Le "
-"chargement de de la valeur du mot futex est un accès en mémoire (c'est-à-"
+"chargement de la valeur du mot futex est un accès en mémoire (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ées "
+"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 ocnsidéré comme en attente de ce mot futex. Si la "
+"commence à dormir, il est considéré comme en attente de ce mot futex. Si la "
 "valeur futex ne correspond pas à I<val>, l'appel échoue immédiatement avec "
 "l'erreur B<EAGAIN>."
 
@@ -524,7 +524,7 @@
 "as B<FUTEX_BITSET_MATCH_ANY>."
 msgstr ""
 "I<Remarque> : pour B<FUTEX_WAIT>, le I<timeout> est interprété comme une "
-"I<valeur> relative. Cela diffère des autres opérations futex oùle I<timeout> "
+"I<valeur> relative. Cela diffère des autres opérations futex où le I<timeout> "
 "est interprété comme une valeur absolue. Pour obtenir l'équivalent de "
 "B<FUTEX_WAIT>, avec un délai absolu, utilisez B<FUTEX_WAIT_BITSET> en "
 "indiquant I<val3> comme B<FUTEX_BITSET_MATCH_ANY>."
@@ -608,7 +608,7 @@
 msgstr ""
 "Cette opération crée un descripteur de fichier associé au futex sur "
 "I<uaddr>. L'appelant doit fermer le descripteur de fichier renvoyé après "
-"l'avoir utilisé. Quand un autre processus ou un autre tyhread effectue un "
+"l'avoir utilisé. Quand un autre processus ou un autre thread effectue un "
 "B<FUTEX_WAKE> sur le mot futex, le descripteur de fichier indique qu'il est "
 "accessible en lecture avec B<select>(2), B<poll>(2), et B<epoll>(7)"
 
@@ -620,7 +620,7 @@
 "B<FUTEX_WAKE>, the caller will receive the signal number that was passed in "
 "I<val>."
 msgstr ""
-"Le descripteur de fichier peut être utilisé pour avoir un des notifications "
+"Le descripteur de fichier peut être utilisé pour avoir des notifications "
 "aynchrones, si I<val> n'est pas nul, puis, quand un autre processus ou un "
 "autre thread exécute B<FUTEX_WAKE>, l'appelant recevra le numéro du signal "
 "passé à I<val>."
@@ -638,7 +638,7 @@
 "Because it was inherently racy, B<FUTEX_FD> has been removed from Linux "
 "2.6.26 onward."
 msgstr ""
-"Parce qu'il était de façon inhérent sujet à des situations de concurrence, "
+"Parce qu'il était de façon inhérente sujet à des situations de concurrence, "
 "B<FUTEX_FD> a été supprimé de Linux 2.6.26 et les suivants."
 
 #. type: TP
@@ -684,7 +684,7 @@
 "éléments en attente du futex sur I<uaddr>. S'il y a plus de I<val> éléments "
 "en attente, les autres sont supprimés de la file d'attente du futex source "
 "sur I<uaddr> et ajoutés à la file d'attente du futex cible sur I<uaddr2>. Le "
-"paramètre I<val2> indique une limite supérieure de du nombre d'éléments "
+"paramètre I<val2> indique une limite supérieure du nombre d'éléments "
 "remis en attente dans le futex sur I<uaddr2>."
 
 #.  FIXME(Torvald) Is the following correct?  Or is just the decision
@@ -761,7 +761,7 @@
 "des réveils « thundering herd » qui peuvent survenir quand on utilise "
 "B<FUTEX_WAKE> dans des cas où tous les éléments en attente qu'on réveille "
 "doivent acquérir un autre futex. Imaginons le scénario suivant où plusieurs "
-"threads attendent A, une file d'attente implémentée en utilisant un futex :"
+"threads attendent en B, une file d'attente implémentée en utilisant un futex :"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -796,7 +796,7 @@
 "when the woken waiter unlocks A then the next waiter can proceed."
 msgstr ""
 "Si un thread qui se réveille utilisait B<FUTEX_WAKE>, tous les éléments "
-"attendant B se réveilleraient et essaiiraient d'acquérir le verrou A. "
+"attendant en B se réveilleraient et essairaient d'acquérir le verrou A. "
 "Cependant, réveiller tous ces threads de cette manière serait vain car tous "
 "les threads, sauf un, se bloqueraient immédiatement à nouveau via le verrou "
 "A. Au contraire, une remise dans la file d'attente ne réveille qu'un élément "
@@ -828,11 +828,11 @@
 "leading to high rates of contention and context switching."
 msgstr ""
 "Cette opération a été ajoutée pour prendre en charge certains cas "
-"d'utilisation de l'espace utilisateur où plus d'un futex à la fgois doit "
+"d'utilisation de l'espace utilisateur où plus d'un futex à la fois doit "
 "être géré. L'exemple le plus frappant est l'implémentation de "
-"B<pthread_cond_signal>(3), qui nécessite des opérations sur deux futexes, "
-"une pour implémenter le mutex, l'autre pour utilisé dans l'implémentation de "
-"la file d'attente associée à à la variable conditionnelle. B<FUTEX_WAKE_OP> "
+"B<pthread_cond_signal>(3), qui nécessite des opérations sur deux futexs, "
+"une pour implémenter le mutex, l'autre pour utiliser dans l'implémentation de "
+"la file d'attente associée à la variable conditionnelle. B<FUTEX_WAKE_OP> "
 "permet d'implémenter de tels cas sans augmenter le nombre de conflits et de "
 "changement de contexte."
 
@@ -882,7 +882,7 @@
 "read-modify-write memory access (i.e., using atomic machine instructions of "
 "the respective architecture)"
 msgstr ""
-"Sauvegarde la valeur d'origine du mot futex sur I<uaddr2> et effectue une "
+"sauvegarde la valeur d'origine du mot futex sur I<uaddr2> et effectue une "
 "opération pour modifier la valeur du futex sur I<uaddr2> ; il s'agit d'un "
 "accès en mémoire read-modify-write atomique (c'est-à-dire d'une utilisation "
 "des instructions machine atomiques liées à l'architecture concernée)"
@@ -893,7 +893,7 @@
 "wakes up a maximum of I<val> waiters on the futex for the futex word at "
 "I<uaddr>; and"
 msgstr ""
-"Réveille un maximum de I<val> éléments en attente sur le futex pour le mot "
+"réveille un maximum de I<val> éléments en attente sur le futex pour le mot "
 "futex sur I<uaddr> ; et"
 
 #. type: Plain text
@@ -903,7 +903,7 @@
 "at I<uaddr2>, wakes up a maximum of I<val2> waiters on the futex for the "
 "futex word at I<uaddr2>."
 msgstr ""
-"Selon les résultats d'un test de la valeur d'origine du mot futex sur "
+"selon les résultats d'un test de la valeur d'origine du mot futex sur "
 "I<uaddr2>, réveille un maximum de I<val2> éléments en attente du mot futex "
 "sur le futex sur I<uaddr2>."
 
@@ -913,7 +913,7 @@
 "The operation and comparison that are to be performed are encoded in the "
 "bits of the argument I<val3>.  Pictorially, the encoding is:"
 msgstr ""
-"L'opération et la comparaison qui doivent être effectuées sont encodés dans "
+"L'opération et la comparaison qui doivent être effectuées sont encodées dans "
 "les bits du paramètre I<val3>. Visuellement, l'encodage est :"
 
 #. type: Plain text
@@ -997,7 +997,7 @@
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 #, no-wrap
 msgid "FUTEX_OP_ARG_SHIFT  8  /* Use (1 E<lt>E<lt> oparg) as operand */\n"
-msgstr "FUTEX_OP_ARG_SHIFT  8  /* Utiliser (1 E<lt>E<lt> oparg) comme opérandd */\n"
+msgstr "FUTEX_OP_ARG_SHIFT  8  /* Utiliser (1 E<lt>E<lt> oparg) comme opérande */\n"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1094,7 +1094,7 @@
 msgstr ""
 "Cette opération est identique à B<FUTEX_WAKE>, sauf que le paramètre I<val3> "
 "est utilisé pour fournir un masque de bit de 32 bits au noyau. Ce masque, où "
-"au moins un bit doit être positionné, est utilisé pour chisir les éléments "
+"au moins un bit doit être positionné, est utilisé pour choisir les éléments "
 "en attente qui doivent être réveillés. Le choix se fait par un bit AND du "
 "masque de bit « wait » (à savoir la valeur de I<val3>) et par un masque de "
 "bit stocké dans la partie interne de l'élément en attente (le masque de bit "
@@ -1131,7 +1131,7 @@
 "un réveil sélectif parmi les éléments en attente bloqués sur le même futex. "
 "Cependant, remarquez que selon le cas, l'utilisation de cette fonction de "
 "dédoublement du masque de bit (bit-mask multiplexin) sur un futex peut être "
-"moins efficace que le fait d'avoir plusieurs futexes, car elle a besoin que "
+"moins efficace que le fait d'avoir plusieurs futexs, car elle a besoin que "
 "le noyau vérifie tous les éléments en attente sur un futex, y compris ceux "
 "non concernés par le réveil (à savoir qu'ils n'ont pas de bit pertinent "
 "positionné dans leur masque de bit « wait »)."
@@ -1166,7 +1166,7 @@
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 #, no-wrap
 msgid "Priority-inheritance futexes"
-msgstr "Futexes et héritage de priorité"
+msgstr "Futexs et héritage de priorité"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1180,10 +1180,10 @@
 "releasing the lock, and the high-priority task remains blocked."
 msgstr ""
 "Linux prend en charge l'héritage de priorité (priority inheritance, PI) des "
-"futexes, afin de gérer des problèmes d'inversion des priorités qu'on peut "
+"futexs, afin de gérer des problèmes d'inversion des priorités qu'on peut "
 "rencontrer avec des verrous futex normaux. L'inversion des priorités est un "
 "problème qui survient quand une tâche de haute priorité est bloquée en "
-"attente d'acquérir un verrou que possède une tâche de basse priorité issu du "
+"attente d'acquérir un verrou que possède une tâche de basse priorité issue du "
 "processeur. Du coup, la tâche de priorité basse ne va pas relâcher le verrou "
 "et celle de haute priorité reste bloquée."
 
@@ -1309,8 +1309,8 @@
 "verrou non acquis ou en relâcher un en utilisant des instructions atomiques "
 "dans l'espace utilisateur (comme une opération compare-and-swap telle que "
 "I<cmpxchg> sur l'architecture x86). L'acquisition d'un verrou consiste "
-"simplement dans l'utilisation de compare-and-swap positionner la valeur du "
-"mot fute de manière atomique sur le TID de l'appelant si sa valeur "
+"simplement dans l'utilisation de compare-and-swap pour positionner la valeur "
+"du mot futex de manière atomique sur le TID de l'appelant si sa valeur "
 "précédente était B<0>. Relâcher un verrou exige d'utiliser compare-and-swap "
 "pour positionner la valeur du mot futex sur B<0> si la valeur précédente "
 "était le TID prévu."
@@ -1342,9 +1342,9 @@
 msgstr ""
 "Dans le cas où les appelants sont bloqués dans le noyau (c'est-à-dire qu'ils "
 "doivent effectuer un appel B<futex>()), ils traitent directement avec ce "
-"qu'on appelle un mutex-RT, unmécanisme de verrouillage du noyau qui "
+"qu'on appelle un mutex-RT, un mécanisme de verrouillage du noyau qui "
 "implémente la sémantique de l'héritage de priorité requis. Après que le RT-"
-"mutex est acquis, la valeur futex est mise à jour en fonction avant que le "
+"mutex est acquis, la valeur futex est mise à jour en fonction, avant que le "
 "thread appelant ne renvoie vers l'espace utilisateur."
 
 #.  tglx (July 2015):
@@ -1388,7 +1388,7 @@
 "this situation via the presence of the B<FUTEX_OWNER_DIED> bit and is then "
 "responsible for cleaning up the stale state left over by the dead owner."
 msgstr ""
-"Si un mutex a un RT-mutex associé dans le noyau (c'est-à-dire qu'il y a des "
+"Si un futex a un RT-mutex associé dans le noyau (c'est-à-dire qu'il y a des "
 "éléments en attente bloqués) et si le propriétaire du futex/RT-mutex meurt "
 "de manière inattendue, le noyau nettoie le RT-mutex et passe la main au "
 "prochain élément en attente. Cela implique, en retour, que la valeur dans "
@@ -1396,7 +1396,7 @@
 "nécessaire, le noyau positionne le bit B<FUTEX_OWNER_DIED> dans le mot futex "
 "ainsi que dans l'ID du thread du nouveau propriétaire. L'espace utilisateur "
 "peut détecter cette situation par la présence du bit B<FUTEX_OWNER_DIED> et "
-"il est alors responsable de nettoyer l'espace laissé par le propriétaire "
+"il est alors responsable pour nettoyer l'espace laissé par le propriétaire "
 "mort."
 
 #. type: Plain text
@@ -1406,9 +1406,9 @@
 "I<futex_op>.  Note that the PI futex operations must be used as paired "
 "operations and are subject to some additional requirements:"
 msgstr ""
-"Les PI futexes sont utilisés en indiquant une des valeurs listées ci-dessous "
+"Les PI futexs sont utilisés en indiquant une des valeurs listées ci-dessous "
 "dans I<futex_op>. Remarquez que les opérations de PI futex doivent être "
-"utilisées en pairs et sont soumises à des exigences supplémentaires :"
+"utilisées par paires et sont soumises à des exigences supplémentaires :"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1417,7 +1417,7 @@
 "B<FUTEX_UNLOCK_PI> must be called only on a futex owned by the calling "
 "thread, as defined by the value policy, otherwise the error B<EPERM> results."
 msgstr ""
-"La pair B<FUTEX_LOCK_PI> et B<FUTEX_TRYLOCK_PI> avec B<FUTEX_UNLOCK_PI>. "
+"La paire B<FUTEX_LOCK_PI> et B<FUTEX_TRYLOCK_PI> avec B<FUTEX_UNLOCK_PI>. "
 "B<FUTEX_UNLOCK_PI> ne doit être appelé que sur un futex appartenant au "
 "thread appelant, tel que défini par les règles de la valeur, sans quoi on "
 "obtient l'erreur B<EPERM>."
@@ -1430,8 +1430,8 @@
 "results).  Additionally, I<val> (the number of waiters to be woken) must be "
 "1 (or the error B<EINVAL> results)."
 msgstr ""
-"Les pairs B<FUTEX_WAIT_REQUEUE_PI> avec B<FUTEX_CMP_REQUEUE_PI>. Elle doit "
-"s'effectuer depuis un futex non-PI vers un futex PI futex distinct (sans "
+"Les paires B<FUTEX_WAIT_REQUEUE_PI> avec B<FUTEX_CMP_REQUEUE_PI>. Elles doivent "
+"s'effectuer depuis un futex non-PI vers un PI futex distinct (sans "
 "quoi on obtient l'erreur B<EINVAL>). De plus, I<val> (le nombre d'éléments "
 "en attente à réveiller) doit être de B<1> (sans quoi on obtient l'erreur "
 "B<EINVAL>)."
@@ -1440,7 +1440,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "The PI futex operations are as follows:"
-msgstr "Les opérations futex de PI sont comme suit :"
+msgstr "Les opérations PI futex sont comme suit :"
 
 #. type: TP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1519,7 +1519,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "Tries to find the thread which is associated with the owner TID."
-msgstr "Essayer de trouver le thread associé au TID propriétaire."
+msgstr "Essaie de trouver le thread associé au TID propriétaire."
 
 #. type: IP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1535,11 +1535,11 @@
 "created by locking the RT-mutex and the futex owner is made the owner of the "
 "RT-mutex.  If there are existing waiters, then the existing state is reused.)"
 msgstr ""
-"Créer ou réutiliser l'état du noyau sur la base du propriétaire (s'il s'agit "
+"Crée ou réutilise l'état du noyau sur la base du propriétaire (s'il s'agit "
 "du premier élément en attente, il n'existe pas d'état du noyau pour ce "
 "futex, donc il est créé en verrouillant le RT-mutex et le propriétaire du "
 "futex devient propriétaire du RT-mutex). Si des éléments en attente "
-"existent, l'état existant et réutilisé."
+"existent, l'état existant est réutilisé."
 
 #. type: IP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1553,7 +1553,7 @@
 "Attaches the waiter to the futex (i.e., the waiter is enqueued on the RT-"
 "mutex waiter list)."
 msgstr ""
-"Rattacher l'élément en attente au futex (c'est-à-dire que l'élément est mis "
+"Rattache l'élément en attente au futex (c'est-à-dire que l'élément est mis "
 "dans la file d'attente du RT-futex)."
 
 #
@@ -1611,7 +1611,7 @@
 "NULL, the operation will block indefinitely."
 msgstr ""
 "Le paramètre I<timeout> fournit un délai de tentative de verrouillage. Si "
-"I<timeout> est positif, la structure vers laquelle il pointe indique une "
+"I<timeout> est positif, la structure vers laquelle il pointe indique un "
 "délai absolu mesuré en fonction de l'horloge B<CLOCK_REALTIME>. Si "
 "I<timeout> est NULL, l'opération se bloquera indéfiniment."
 
@@ -1620,7 +1620,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "The I<uaddr2>, I<val>, and I<val3> arguments are ignored."
-msgstr "Les paramè_tres I<uaddr2>, I<val> et I<val3> sont ignorés."
+msgstr "Les paramètres I<uaddr2>, I<val> et I<val3> sont ignorés."
 
 #. type: TP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1636,7 +1636,7 @@
 "user-space atomic acquire did not succeed because the futex word was not 0."
 msgstr ""
 "L'opération essaie d'acquérir le verrou sur I<uaddr>. Elle est appelée quand "
-"l'acquisition atomique dans l'espace utilisateur n'a pas ruéssi parce que le "
+"l'acquisition atomique dans l'espace utilisateur n'a pas réussi parce que le "
 "mot futex ne valait pas B<0>."
 
 #.  Paraphrasing a f2f conversation with Thomas Gleixner about the
@@ -1692,7 +1692,7 @@
 "This operation wakes the top priority waiter that is waiting in "
 "B<FUTEX_LOCK_PI> on the futex address provided by the I<uaddr> argument."
 msgstr ""
-"Cette opération réveille l'élément ayant le plus haute priorité et attendant "
+"Cette opération réveille l'élément ayant la plus haute priorité et attendant "
 "un B<FUTEX_LOCK_PI> à l'adresse indiquée par le paramètre I<uaddr>."
 
 #. type: Plain text
@@ -1737,8 +1737,8 @@
 "Comme avec B<FUTEX_CMP_REQUEUE>, cette opération réveille un maximum de "
 "I<val> éléments qui attendent le futex sur I<uaddr>. Toutefois, pour "
 "B<FUTEX_CMP_REQUEUE_PI>, I<val> doit valoir B<1> (puisque son but principal "
-"est d'éviter les « thundering herd). »). Les autres éléments sont supprimés "
-"de la file d'attente du futex source sur I<uaddr> et ajoutés celle du futex "
+"est d'éviter les « thundering herd »). Les autres éléments sont supprimés "
+"de la file d'attente du futex source sur I<uaddr> et ajoutés sur celle du futex "
 "cible sur I<uaddr2>."
 
 #
@@ -1840,7 +1840,7 @@
 "B<FUTEX_WAIT_REQUEUE_PI> et B<FUTEX_CMP_REQUEUE_PI> ont été ajoutés pour "
 "gérer un cas d'utilisation bien particulier : la prise en charge des "
 "variables conditionnelles de threads POSIX ayant connaissance de l'héritage "
-"de priorité. L'idée est que ces opérations devraient toujours aller de pair, "
+"de priorité. L'idée est que ces opérations devraient toujours aller par paires, "
 "afin de garantir que l'espace utilisateur et le noyau restent toujours "
 "synchronisés. Ainsi, dans l'opération B<FUTEX_WAIT_REQUEUE_PI>, "
 "l'application dans l'espace utilisateur pré-indique la cible de la remise en "
@@ -1890,11 +1890,11 @@
 "value (i.e., the user-space synchronization scheme)  to decide whether to "
 "continue to block or not."
 msgstr ""
-"Renvoyer  B<0> si l'appelant a été réveillé. Remarquez qu'un réveil peut "
+"Renvoie  B<0> si l'appelant a été réveillé. Remarquez qu'un réveil peut "
 "également résulter de l'utilisation de motifs d'utilisation classiques de "
-"futex dans du code non lié qui qui a pu utiliser l'emplacement mémoire du "
+"futex dans du code non lié qui a pu utiliser l'emplacement mémoire du "
 "mot futex (par exemple des implémentations classiques basées sur futex de "
-"futexes Pthreads peuvent provoquer cela dans certaines conditions). Donc, "
+"mutexs Pthreads peuvent provoquer cela dans certaines conditions). Donc, "
 "les appelants devraient toujours, à titre conservatoire, supposer qu'un code "
 "de retour B<0> peut signifier un faux réveil, et donc utiliser la valeur du "
 "mot futex (à savoir le schéma de synchronisation de l'espace utilisateur) "
@@ -1920,7 +1920,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "Returns the new file descriptor associated with the futex."
-msgstr "Renvoie le nouveau descripteur associé au futex."
+msgstr "Renvoie le nouveau descripteur de fichier associé au futex."
 
 #. type: TP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -1942,7 +1942,7 @@
 "I<val>, then the difference is the number of waiters requeued to the futex "
 "for the futex word at I<uaddr2>."
 msgstr ""
-"Renvoyer le nombre total d'éléments en attente réveillés ou remis dans la "
+"Renvoie le nombre total d'éléments en attente réveillés ou remis dans la "
 "file du futex pour le mot futex sur I<uaddr2>. Si cette valeur est "
 "supérieure à I<val>, la différence devient le nombre d'éléments en attente "
 "remis dans la file du futex pour le mot futex sur I<uaddr2>."
@@ -1960,8 +1960,8 @@
 "the woken waiters on the two futexes for the futex words at I<uaddr> and "
 "I<uaddr2>."
 msgstr ""
-"Renvoyer le nombre total d'éléments en attente réveillés. Il s'agit de la "
-"somme des éléments réveillés sur les deux futexes pour les mots futex sur "
+"Renvoie le nombre total d'éléments en attente réveillés. Il s'agit de la "
+"somme des éléments réveillés sur les deux futexs pour les mots futex sur "
 "I<uaddr> et I<uaddr2>."
 
 #. type: TP
@@ -1976,7 +1976,7 @@
 "Returns 0 if the caller was woken up.  See B<FUTEX_WAIT> for how to "
 "interpret this correctly in practice."
 msgstr ""
-"Renvoyer B<0> si l'appelant a été réveillé. Voir B<FUTEX_WAIT> sur la "
+"Renvoie B<0> si l'appelant a été réveillé. Voir B<FUTEX_WAIT> sur la "
 "manière d'interpréter cela correctement en pratique."
 
 #. type: TP
@@ -1994,7 +1994,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "Returns 0 if the futex was successfully locked."
-msgstr "Renvoyer B<0> si le futex a appliqué le verrou avec succès."
+msgstr "Renvoie B<0> si le futex a appliqué le verrou avec succès."
 
 #. type: TP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2011,7 +2011,7 @@
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 msgid "Returns 0 if the futex was successfully unlocked."
-msgstr "Renvoyer B<0> si le futex a correctement enlevé le verrou."
+msgstr "Renvoie B<0> si le futex a correctement enlevé le verrou."
 
 #. type: TP
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2027,7 +2027,7 @@
 "I<val>, then difference is the number of waiters requeued to the futex for "
 "the futex word at I<uaddr2>."
 msgstr ""
-"Renvoyer le nombre total d'éléments en attente réveillés ou remis dans la "
+"Renvoie le nombre total d'éléments en attente réveillés ou remis dans la "
 "file du futex pour le mot futex sur I<uaddr2>. Si cette valeur est "
 "supérieure à I<val>, la différence devient le nombre d'éléments en attente "
 "remis dans la file du futex pour le mot futex sur I<uaddr2>."
@@ -2046,7 +2046,7 @@
 "Returns 0 if the caller was successfully requeued to the futex for the futex "
 "word at I<uaddr2>."
 msgstr ""
-"Renvoyer B<0> si l'appelant a été mis dans la file d'attente avec succès au "
+"Renvoie B<0> si l'appelant a été mis dans la file d'attente avec succès au "
 "futex pour le mot futex sur I<uaddr2>."
 
 #. type: SH
@@ -2080,8 +2080,8 @@
 "time of the call."
 msgstr ""
 "(B<FUTEX_WAIT>, B<FUTEX_WAIT_BITSET>, B<FUTEX_WAIT_REQUEUE_PI>) La valeur "
-"vers laquelle pointait I<uaddr> n'était pas égale à la I<val> attendue au "
-"moment de l'appel."
+"vers laquelle pointait I<uaddr> n'était pas égale à la valeur I<val> attendue "
+"au moment de l'appel."
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2091,7 +2091,7 @@
 "value."
 msgstr ""
 "B<Remarque> : sur Linux, les noms symboliques B<EAGAIN> et B<EWOULDBLOCK> "
-"(les deux appraaissent dans différents endroits du code futex du noyau) ont "
+"(les deux apparaissent dans différents endroits du code futex du noyau) ont "
 "la même valeur."
 
 #. type: Plain text
@@ -2112,8 +2112,8 @@
 "again."
 msgstr ""
 "(B<FUTEX_LOCK_PI>, B<FUTEX_TRYLOCK_PI>, B<FUTEX_CMP_REQUEUE_PI>) L'ID du "
-"thread propriétaire propriétaire du futex sur I<uaddr> (pour "
-"B<FUTEX_CMP_REQUEUE_PI> : I<uaddr2>)) est sur le point de se terminer, mais "
+"thread propriétaire du futex sur I<uaddr> (pour "
+"B<FUTEX_CMP_REQUEUE_PI> : I<uaddr2>) est sur le point de se terminer, mais "
 "il n'a pas encore géré le nettoyage de l'état interne. Réessayez."
 
 #. type: TP
@@ -2216,7 +2216,7 @@
 "I<val3> is zero."
 msgstr ""
 "(B<FUTEX_WAIT_BITSET>, B<FUTEX_WAKE_BITSET>) Le masque de bit fourni dans "
-"I<val3> faut zéro."
+"I<val3> vaut zéro."
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2243,7 +2243,7 @@
 msgstr ""
 "(B<FUTEX_WAKE>, B<FUTEX_WAKE_OP>, B<FUTEX_WAKE_BITSET>, B<FUTEX_REQUEUE>, "
 "B<FUTEX_CMP_REQUEUE>) Le noyau a détecté une incohérence entre l'état de "
-"l'espace tuilisateur sur I<uaddr> et l'état du noyau - c'est-à-dire qu'il a "
+"l'espace utilisateur sur I<uaddr> et l'état du noyau - c'est-à-dire qu'il a "
 "détecté un élément qui attend dans B<FUTEX_LOCK_PI> sur I<uaddr>."
 
 #. type: Plain text
@@ -2256,7 +2256,7 @@
 "B<FUTEX_WAIT_BITSET>."
 msgstr ""
 "(B<FUTEX_LOCK_PI>, B<FUTEX_TRYLOCK_PI>, B<FUTEX_UNLOCK_PI>) Le noyau a "
-"détecté une incohérence entre l'état de l'espace tuilisateur sur I<uaddr> et "
+"détecté une incohérence entre l'état de l'espace utilisateur sur I<uaddr> et "
 "l'état du noyau. Cela indique soit une corruption d'état, soit que le noyau "
 "a trouvé un élément en attente sur I<uaddr> qui attend aussi via "
 "B<FUTEX_WAIT> ou B<FUTEX_WAIT_BITSET>."
@@ -2273,7 +2273,7 @@
 "I<uaddr2>."
 msgstr ""
 "(B<FUTEX_CMP_REQUEUE_PI>) Le noyau a détecté une incohérence entre l'état de "
-"l'espace tuilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
+"l'espace utilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
 "détecté un élément qui attend via B<FUTEX_WAIT> ou B<FUTEX_WAIT_BITSET> sur "
 "I<uaddr2>."
 
@@ -2286,7 +2286,7 @@
 "I<uaddr>."
 msgstr ""
 "(B<FUTEX_CMP_REQUEUE_PI>) Le noyau a détecté une incohérence entre l'état de "
-"l'espace tuilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
+"l'espace utilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
 "détecté un élément qui attend via B<FUTEX_WAIT> ou B<FUTEX_WAIT_BITESET> sur "
 "I<uaddr>."
 
@@ -2299,7 +2299,7 @@
 "B<FUTEX_WAIT_REQUEUE_PI>)."
 msgstr ""
 "(B<FUTEX_CMP_REQUEUE_PI>) Le noyau a détecté une incohérence entre l'état de "
-"l'espace tuilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
+"l'espace utilisateur sur I<uaddr> et l'état du noyau ; c'est-à-dire qu'il a "
 "détecté un élément qui attend via B<FUTEX_LOCK_PI> (au lieu de "
 "B<FUTEX_WAIT_REQUEUE_PI>)."
 
@@ -2475,7 +2475,7 @@
 "Futexes were first made available in a stable kernel release with Linux "
 "2.6.0."
 msgstr ""
-"Les futexes ont d'abord été disponibles dans une version stable du noyau "
+"Les futexs ont d'abord été disponibles dans une version stable du noyau "
 "avec Linux 2.6.0."
 
 #. type: Plain text
@@ -2487,7 +2487,7 @@
 "argument was added in Linux 2.5.70, and a sixth argument was added in Linux "
 "2.6.7."
 msgstr ""
-"La prise en charge initiale des futex a été ajoutée dans Linux 2.5.7 mais "
+"La prise en charge initiale des futexs a été ajoutée dans Linux 2.5.7 mais "
 "avec une sémantique différente de celle décrite ci\\(hydessus. Un appel "
 "système à 4 paramètres avec la sémantique décrite dans cette page a été "
 "ajouté dans Linux 2.5.40. Dans Linux 2.5.70, un cinquième paramètre a été "
@@ -2532,8 +2532,8 @@
 "mechanisms (mutexes, condition variables, read-write locks, and barriers)."
 msgstr ""
 "Plusieurs abstractions programmatiques de haut niveau sont implémentées avec "
-"des futexes, notamment les mécanismes de sémaphore POSIX et de de "
-"synchronisation de threads (mutexes, variables conditionnelles, verrous en "
+"des futexs, notamment les mécanismes de sémaphore POSIX et de de "
+"synchronisation de threads (mutexs, variables conditionnelles, verrous en "
 "lecture/écriture et barrières)."
 
 #. type: SH
@@ -2553,13 +2553,13 @@
 "synchronization protocol that ensures that they alternate in writing "
 "messages.  Upon running this program we see output such as the following:"
 msgstr ""
-"Le programme ci-dessous montre l'utilisation des futexes dans un programme "
-"où un processus parent et un processus enfant utilisent une paire de futexes "
+"Le programme ci-dessous montre l'utilisation des futexs dans un programme "
+"où un processus parent et un processus enfant utilisent une paire de futexs "
 "située dans un tableau anonyme partagé pour synchroniser l'accès à une "
 "ressource partagée : le terminal. Les deux processus écrivent chacun un "
 "message I<nloops> (un paramètre en ligne de commande qui vaut 5 par défaut "
 "s'il est absent) sur le terminal et ils utilisent un protocole de "
-"synchronisation pour garantir qu'ils alternent dans l'écriture ded messages. "
+"synchronisation pour garantir qu'ils alternent dans l'écriture des messages. "
 "Pendant l'exécution de ce programme, nous voyons un affichage comme suit :"
 
 #. type: Plain text
@@ -2635,8 +2635,8 @@
 "#include E<lt>linux/futex.hE<gt>\n"
 "#include E<lt>sys/time.hE<gt>\n"
 msgstr ""
-"   Montre l'utilisation des futexes dans un programme om le parent et\n"
-"   l'enfant utilisent une paire de futexes située dans un tableau\n"
+"   Montre l'utilisation des futexs dans un programme où le parent et\n"
+"   l'enfant utilisent une paire de futexs située dans un tableau\n"
 "   anonyme partagé pour synchroniser l'accès à une ressource partagée : le\n"
 "   terminal. Les processus écrivent chacun des messages \\(aqnum-loops\\(aq\n"
 "   sur le terminal et ils utilisent un protocole de synchronisation qui\n"
@@ -2698,7 +2698,7 @@
 "   become 1, and then set the value to 0. */\n"
 msgstr ""
 "/* Acquérir le futex vers lequel pointe \\(aqfutexp\\(aq: attendra que sa\n"
-"   valeur passe à 1 puis positionner la valeur sur 0. */\n"
+"   valeur passe à 1 puis positionnera la valeur sur 0. */\n"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2755,6 +2755,10 @@
 "        if (atomic_compare_exchange_strong(futexp, &one, 0))\n"
 "            break;      /* Yes */\n"
 msgstr "        /* Le futex est-il disponible ? */\n"
+"        const int one = 1;\n"
+"        if (atomic_compare_exchange_strong(futexp, &one, 0))\n"
+"            break;      /* Yes */\n"
+
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2788,7 +2792,7 @@
 msgstr ""
 "/* Relâcher le futex vers lequel pointe \\(aqfutexp\\(aq : si le futex\n"
 "  a actuellement la valeur 0, positionner la valeur à 1 et réveiller tous les\n"
-"  futexes en attente pour que si le pair est bloqué dans fpost(), il puisse\n"
+"  futexs en attente pour que si la paire est bloquée dans fpost(), ça puisse\n"
 "  continuer. */\n"
 
 #. type: Plain text
@@ -2870,10 +2874,10 @@
 "       subsequently use the \"shared\" futex operations (i.e., not the\n"
 "       ones suffixed \"_PRIVATE\") */\n"
 msgstr ""
-"     /* Créer un tableau anonyme partagé qui gardera les futexes.\n"
-"        Comme les futexes vont être partagés entre les processus, nous\n"
+"     /* Créer un tableau anonyme partagé qui gardera les futexs.\n"
+"        Comme les futexs vont être partagés entre les processus, nous\n"
 "        utilisons donc les opérations futex « shared » (donc pas celles\n"
-"        dont le suffixe est \\\"_PRIVATE\\\") */"
+"        dont le suffixe est \\\"_PRIVATE\\\") */\n"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
@@ -2983,7 +2987,7 @@
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
 #, no-wrap
 msgid "    wait(NULL);\n"
-msgstr "    wait(NULL);"
+msgstr "    wait(NULL);\n"
 
 #. type: Plain text
 #: archlinux debian-buster debian-unstable fedora-rawhide mageia-cauldron
--- futex.2.po	2020-07-10 09:04:16.963142438 +0200
+++ futex.2.relu2.po	2020-07-10 15:15:42.742889160 +0200
@@ -123,7 +123,7 @@
 "L'appel système B<futex>() offre une méthode pour attendre qu'une condition "
 "soit vraie. On l'utilise en général comme construct de blocage dans le "
 "contexte de la synchronisation de la mémoire partagée. Quand on utilise des "
-"futexs, la majorité des opérations de synchronisation s'effectue dans "
+"futexes, 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<futex>() que lorsqu'il est probable qu'il doive se bloquer plus "
 "longtemps avant que la condition ne soit vraie. D'autres opérations "
@@ -145,7 +145,7 @@
 "threads."
 msgstr ""
 "UIne futex est une valeur 32 bits - désignée ci-dessous un « I<mot futex> » "
-"- dont l'adresse est fournie à l'appel système B<futex>() (les futexs ont "
+"- dont l'adresse est fournie à l'appel système B<futex>() (les futexes 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 "
@@ -222,7 +222,7 @@
 "(this can be further optimized to avoid unnecessary wake-ups).  See "
 "B<futex>(7)  for more detail on how to use futexes."
 msgstr ""
-"Une utilisation des futexs consiste à implémenter des verrous. L'état du "
+"Une utilisation des futexes 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. Dans le "
 "« uncontended case », un thread peut accéder et modifier un l'état du verrou "

Reply to: