Bonjour, Le 25/11/2018 à 12:45, Jean-Pierre Giraud a écrit : > Relecture complète. Merci Jean-Pierre, j'ai tout pris. Passage en LCFC, merci d'avance pour vos ultimes relectures. Amicalement, Thomas
diff --git a/po4a/semaphore/po/fr.po b/po4a/semaphore/po/fr.po index ee4bcf463c61d30ae70b34e5b9605603a8809724..22f7c18cbbe71181285ece72be5ad3dab445eaab 100644 --- a/po4a/semaphore/po/fr.po +++ b/po4a/semaphore/po/fr.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: perkamon\n" "POT-Creation-Date: 2018-10-21 19:19+0200\n" -"PO-Revision-Date: 2018-09-10 20:55+0000\n" -"Last-Translator: Weblate Admin <jean-baptiste@holcroft.fr>\n" +"PO-Revision-Date: 2018-11-12 17:11+0100\n" +"Last-Translator: Thomas Vincent <tvincent@debian.org>\n" "Language-Team: French <https://translate.holcroft.fr/projects/man-pages-fr/" "semaphore/fr/>\n" "Language: fr\n" @@ -25,7 +25,7 @@ msgstr "" "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" +"X-Generator: Poedit 1.8.11\n" #. type: TH #: build/C/man3/sem_close.3:26 @@ -132,7 +132,7 @@ msgid "" "semaphore to be freed." msgstr "" "B<sem_close>() ferme le sémaphore nommé référencé par I<sem>, permettant à " -"toutes les ressources que le système a alloué au processus appelant pour ce " +"toutes les ressources que le système a allouées au processus appelant pour ce " "sémaphore d'être libérées." #. type: SH @@ -151,7 +151,7 @@ msgid "" "On success B<sem_close>() returns 0; on error, -1 is returned, with " "I<errno> set to indicate the error." msgstr "" -"S'il réussit, B<sem_close>() renvoie 0. S'il échoue, il renvoie -1 et écrit " +"S'il réussit, B<sem_close>() renvoie 0. S'il échoue, il renvoie -1 et écrit " "I<errno> en conséquence." #. type: SH @@ -180,7 +180,7 @@ msgstr "B<EINVAL>" #: build/C/man3/sem_getvalue.3:65 build/C/man3/sem_post.3:57 #: build/C/man3/sem_wait.3:123 msgid "I<sem> is not a valid semaphore." -msgstr "I<sem> n'est pas un sémaphore valide." +msgstr "I<sem> n'est pas un sémaphore valable." #. type: SH #: build/C/man3/sem_close.3:54 build/C/man3/sem_destroy.3:66 @@ -199,6 +199,8 @@ msgstr "ATTRIBUTS" msgid "" "For an explanation of the terms used in this section, see B<attributes>(7)." msgstr "" +"Pour une explication des termes employés dans cette section, consultez " +"B<attributes>(7)." #. type: tbl table #: build/C/man3/sem_close.3:61 build/C/man3/sem_destroy.3:73 @@ -207,7 +209,7 @@ msgstr "" #: build/C/man3/sem_unlink.3:69 build/C/man3/sem_wait.3:150 #, no-wrap msgid "Interface" -msgstr "" +msgstr "Interface" #. type: tbl table #: build/C/man3/sem_close.3:61 build/C/man3/sem_destroy.3:73 @@ -216,7 +218,7 @@ msgstr "" #: build/C/man3/sem_unlink.3:69 build/C/man3/sem_wait.3:150 #, no-wrap msgid "Attribute" -msgstr "" +msgstr "Attribut" #. type: tbl table #: build/C/man3/sem_close.3:61 build/C/man3/sem_destroy.3:73 @@ -225,13 +227,13 @@ msgstr "" #: build/C/man3/sem_unlink.3:69 build/C/man3/sem_wait.3:150 #, no-wrap msgid "Value" -msgstr "" +msgstr "Valeur" #. type: tbl table #: build/C/man3/sem_close.3:64 #, no-wrap msgid "B<sem_close>()" -msgstr "" +msgstr "B<sem_close>()" #. type: tbl table #: build/C/man3/sem_close.3:64 build/C/man3/sem_destroy.3:76 @@ -240,7 +242,7 @@ msgstr "" #: build/C/man3/sem_unlink.3:72 build/C/man3/sem_wait.3:155 #, no-wrap msgid "Thread safety" -msgstr "" +msgstr "Sécurité d'exécution des « threads »" #. type: tbl table #: build/C/man3/sem_close.3:64 build/C/man3/sem_destroy.3:76 @@ -249,7 +251,7 @@ msgstr "" #: build/C/man3/sem_unlink.3:72 build/C/man3/sem_wait.3:155 #, no-wrap msgid "MT-Safe" -msgstr "" +msgstr "MT-Safe" #. type: SH #: build/C/man3/sem_close.3:67 build/C/man3/sem_destroy.3:78 @@ -265,10 +267,8 @@ msgstr "CONFORMITÃ?" #: build/C/man3/sem_close.3:69 build/C/man3/sem_destroy.3:80 #: build/C/man3/sem_getvalue.3:79 build/C/man3/sem_open.3:185 #: build/C/man3/sem_unlink.3:76 build/C/man3/sem_wait.3:159 -#, fuzzy -#| msgid "SVr4, POSIX.1-2001." msgid "POSIX.1-2001, POSIX.1-2008." -msgstr "SVr4, POSIX.1-2001." +msgstr "POSIX.1-2001, POSIX.1-2008." #. type: SH #: build/C/man3/sem_close.3:69 build/C/man3/sem_destroy.3:80 @@ -326,19 +326,13 @@ msgstr "COLOPHON" #: build/C/man3/sem_post.3:95 build/C/man3/sem_unlink.3:90 #: build/C/man3/sem_wait.3:282 build/C/man2/semctl.2:593 #: build/C/man2/semget.2:330 build/C/man2/semop.2:564 -#, fuzzy -#| msgid "" -#| "This page is part of release 4.16 of the Linux I<man-pages> project. A " -#| "description of the project, information about reporting bugs, and the " -#| "latest version of this page, can be found at \\%https://www.kernel.org/" -#| "doc/man-pages/." msgid "" "This page is part of release 4.16 of the Linux I<man-pages> project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%https://www.kernel.org/doc/man-" "pages/." msgstr "" -"Cette page fait partie de la publication 4.16 du projet I<man-pages> Linux. " +"Cette page fait partie de la publication 4.16 du projet I<man-pages> Linux. " "Une description du projet et des instructions pour signaler des anomalies " "peuvent être trouvées à l'adresse \\%https://www.kernel.org/doc/man-pages/." @@ -401,16 +395,16 @@ msgid "" "B<sem_destroy>() returns 0 on success; on error, -1 is returned, and " "I<errno> is set to indicate the error." msgstr "" -"B<sem_destroy>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et écrit " +"B<sem_destroy>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et écrit " "I<errno> en conséquence." #. type: tbl table #: build/C/man3/sem_destroy.3:76 #, no-wrap msgid "B<sem_destroy>()" -msgstr "" +msgstr "B<sem_destroy>()" -#. But not on NPTL, where sem_destroy () is a no-op.. +#. But not on NPTL, where sem_destroy () is a no-op.. #. type: Plain text #: build/C/man3/sem_destroy.3:86 msgid "" @@ -455,13 +449,6 @@ msgstr "" #. type: Plain text #: build/C/man3/sem_getvalue.3:54 -#, fuzzy -#| msgid "" -#| "If one or more processes or threads are blocked waiting to lock the " -#| "semaphore with B<sem_wait>(3), POSIX.1-2001 permits two possibilities for " -#| "the value returned in I<sval>: either 0 is returned; or a negative number " -#| "whose absolute value is the count of the number of processes and threads " -#| "currently blocked in B<sem_wait>(3). Linux adopts the former behavior." msgid "" "If one or more processes or threads are blocked waiting to lock the " "semaphore with B<sem_wait>(3), POSIX.1 permits two possibilities for the " @@ -470,10 +457,10 @@ msgid "" "blocked in B<sem_wait>(3). Linux adopts the former behavior." msgstr "" "Si un ou plusieurs processus ou threads sont bloqués en attente de " -"verrouiller le sémaphore avec B<sem_wait>(3), POSIX.1-2001 permet deux " -"valeurs de retour possibles pour I<sval>\\ : soit 0 est renvoyé, soit une " -"valeur négative dont la valeur absolue est le nombre de processus et de " -"threads actuellement bloqués dans B<sem_wait>(3). Linux adopte le premier " +"verrouiller le sémaphore avec B<sem_wait>(3), POSIX.1 permet deux valeurs de " +"retour possibles pour I<sval>\\ : soit 0 est renvoyé, soit une valeur " +"négative dont la valeur absolue est le nombre de processus et de threads " +"actuellement bloqués dans B<sem_wait>(3). Linux adopte le premier " "comportement." #. type: Plain text @@ -482,14 +469,14 @@ msgid "" "B<sem_getvalue>() returns 0 on success; on error, -1 is returned and " "I<errno> is set to indicate the error." msgstr "" -"B<sem_getvalue>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et " +"B<sem_getvalue>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et " "écrit I<errno> en conséquence." #. type: tbl table #: build/C/man3/sem_getvalue.3:75 #, no-wrap msgid "B<sem_getvalue>()" -msgstr "" +msgstr "B<sem_getvalue>()" #. type: Plain text #: build/C/man3/sem_getvalue.3:83 @@ -497,8 +484,8 @@ msgid "" "The value of the semaphore may already have changed by the time " "B<sem_getvalue>() returns." msgstr "" -"La valeur du sémaphore peut déjà être modifiée le temps que " -"B<sem_getvalue>() revienne." +"La valeur du sémaphore peut déjà avoir été modifiée lorsque " +"B<sem_getvalue>() renvoie." #. type: Plain text #: build/C/man3/sem_getvalue.3:87 @@ -549,7 +536,7 @@ msgid "" "to all threads (e.g., a global variable, or a variable allocated dynamically " "on the heap)." msgstr "" -"Si I<pshared> vaut 0, le sémaphore est partagé entre les threads d'un " +"Si I<pshared> vaut 0, le sémaphore est partagé entre les threads d'un " "processus et devrait être situé à une adresse visible par tous les threads " "(par exemple, une variable globale ou une variable allouée dynamiquement " "dans le tas)." @@ -569,7 +556,7 @@ msgstr "" "B<shm_open>(3), B<mmap>(2) et B<shmget>(2)) (puisqu'un fils créé avec " "B<fork>(2) hérite de la projection mémoire du père, il peut accéder au " "sémaphore). Tout processus qui peut accéder à la région de mémoire partagée " -"peut opérer sur le sémaphore avec B<sem_post>(3), B<sem_wait>(3), etc." +"peut opérer sur le sémaphore avec B<sem_post>(3), B<sem_wait>(3), etc." #. type: Plain text #: build/C/man3/sem_init.3:77 @@ -586,7 +573,7 @@ msgid "" "B<sem_init>() returns 0 on success; on error, -1 is returned, and I<errno> " "is set to indicate the error." msgstr "" -"B<sem_init>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et écrit " +"B<sem_init>() renvoie 0 s'il réussit. S'il échoue, il renvoie -1 et écrit " "I<errno> en conséquence." #. type: Plain text @@ -611,10 +598,9 @@ msgstr "" #. type: tbl table #: build/C/man3/sem_init.3:105 -#, fuzzy, no-wrap -#| msgid "See B<sem_wait>(3)." +#, no-wrap msgid "B<sem_init>()" -msgstr "Consultez B<sem_wait>(3)." +msgstr "B<sem_init>()" #. type: Plain text #: build/C/man3/sem_init.3:109 build/C/man3/sem_post.3:75 @@ -628,8 +614,8 @@ msgid "" "by a successful call to B<sem_init>(). POSIX.1-2008 rectifies this, " "specifying the zero return on success." msgstr "" -"Bizarrement, POSIX.1-2001 ne spécifie pas la valeur que devrait retourner un " -"appel réussi à B<sem_init>(). POSIX.1-2008 corrige ceci et spécifie une " +"Bizarrement, POSIX.1-2001 ne spécifie pas la valeur que devrait renvoyer un " +"appel réussi à B<sem_init>(). POSIX.1-2008 corrige cela et spécifie une " "valeur de retour nulle en cas de succès." #. type: Plain text @@ -683,7 +669,7 @@ msgstr "" "sémaphore est identifié par I<name>. Pour les détails de la construction de " "I<name>, consultez B<sem_overview>(7)." -#. In reality the filesystem IDs are used on Linux. +#. In reality the filesystem IDs are used on Linux. #. type: Plain text #: build/C/man3/sem_open.3:76 msgid "" @@ -789,13 +775,11 @@ msgstr "B<EMFILE>" #. type: Plain text #: build/C/man3/sem_open.3:144 -#, fuzzy -#| msgid "The system limit on the total number of open files has been reached." msgid "" "The per-process limit on the number of open file descriptors has been " "reached." msgstr "" -"La limite du nombre total de fichiers ouverts sur le système a été atteinte." +"La limite du nombre total de descripteurs de fichier ouvert par processus a été atteinte." #. type: TP #: build/C/man3/sem_open.3:144 build/C/man3/sem_unlink.3:54 @@ -816,8 +800,6 @@ msgstr "B<ENFILE>" #. type: Plain text #: build/C/man3/sem_open.3:151 -#, fuzzy -#| msgid "The system limit on the total number of open files has been reached." msgid "" "The system-wide limit on the total number of open files has been reached." msgstr "" @@ -830,8 +812,8 @@ msgstr "" msgid "B<ENOENT>" msgstr "B<ENOENT>" -#. this error can occur if we have a name of the (nonportable) form -#. /dir/name, and the directory /dev/shm/dir does not exist. +#. this error can occur if we have a name of the (nonportable) form +#. /dir/name, and the directory /dev/shm/dir does not exist. #. type: Plain text #: build/C/man3/sem_open.3:167 msgid "" @@ -858,7 +840,7 @@ msgstr "Mémoire insuffisante." #: build/C/man3/sem_open.3:180 #, no-wrap msgid "B<sem_open>()" -msgstr "" +msgstr "B<sem_open>()" #. type: Plain text #: build/C/man3/sem_open.3:192 @@ -907,7 +889,7 @@ msgstr "" "Un sémaphore est un entier dont la valeur ne peut jamais être négative. Deux " "opérations peuvent être effectuées\\ : incrémenter la valeur du sémaphore de " "1 (B<sem_post>(3)), ou décrémenter la valeur du sémaphore de 1 " -"(B<sem_wait>(3)). Si la valeur courante est 0, une opération B<sem_wait>(3) " +"(B<sem_wait>(3)). Si la valeur courante est 0, une opération B<sem_wait>(3) " "bloque jusqu'à ce que la valeur devienne strictement positive." #. type: Plain text @@ -924,15 +906,15 @@ msgstr "" msgid "B<Named semaphores>" msgstr "B<Sémaphores nommés>" -#. glibc allows the initial slash to be omitted, and makes -#. multiple initial slashes equivalent to a single slash. -#. This differs from the implementation of POSIX message queues. -#. glibc allows subdirectory components in the name, in which -#. case the subdirectory tree must exist under /dev/shm, and -#. the fist subdirectory component must exist as the name -#. sem.name, and all of the subdirectory components must allow the -#. required permissions if a user wants to create a semaphore -#. object in a subdirectory. +#. glibc allows the initial slash to be omitted, and makes +#. multiple initial slashes equivalent to a single slash. +#. This differs from the implementation of POSIX message queues. +#. glibc allows subdirectory components in the name, in which +#. case the subdirectory tree must exist under /dev/shm, and +#. the fist subdirectory component must exist as the name +#. sem.name, and all of the subdirectory components must allow the +#. required permissions if a user wants to create a semaphore +#. object in a subdirectory. #. type: Plain text #: build/C/man7/sem_overview.7:64 msgid "" @@ -943,7 +925,7 @@ msgid "" "passing the same name to B<sem_open>(3)." msgstr "" "Un sémaphore nommé est identifié par un nom de la forme I</un_nom> ; c'est-à -" -"dire un chaîne terminée par un caractère nul pouvant avoir jusqu'à " +"dire une chaîne terminée par un caractère nul pouvant avoir jusqu'à " "B<NAME_MAX>I<-4> (251) caractères, commençant par une barre oblique (« / ») " "suivie d'un caractère ou plus, aucun de ces derniers n'étant une barre " "oblique. Deux processus peuvent utiliser un même sémaphore nommé en passant " @@ -1065,8 +1047,8 @@ msgid "" "Programs using the POSIX semaphores API must be compiled with I<cc -pthread> " "to link against the real-time library, I<librt>." msgstr "" -"Les programmes utilisant l'API des sémaphores POSIX doit être compilé avec " -"I<cc -pthread> pour être lié avec la bibliothèque temps\\(hyréel, I<librt>." +"Les programmes utilisant l'API des sémaphores POSIX doivent être compilés avec " +"I<cc -pthread> pour être liés avec la bibliothèque temps\\(hyréel, I<librt>." #. type: SS #: build/C/man7/sem_overview.7:124 @@ -1104,7 +1086,7 @@ msgid "" "System V semaphores; on the other hand POSIX semaphores are less widely " "available (especially on older systems) than System V semaphores." msgstr "" -"Les sémaphores System V (B<semget>(2), B<semop>(2), etc.) sont une API de " +"Les sémaphores System V (B<semget>(2), B<semop>(2), etc.) sont une API de " "sémaphores plus vieille. Les sémaphores POSIX fournissent une interface plus " "simple et mieux conçue que les sémaphores System V. En revanche, les " "sémaphores POSIX sont moins largement disponibles que les sémaphores " @@ -1128,11 +1110,6 @@ msgstr "" #. type: Plain text #: build/C/man7/sem_overview.7:161 -#, fuzzy -#| msgid "" -#| "B<sem_close>(3), B<sem_destroy>(3), B<sem_getvalue>(3), B<sem_init>(3), " -#| "B<sem_open>(3), B<sem_post>(3), B<sem_unlink>(3), B<sem_wait>(3), " -#| "B<pthreads>(7)" msgid "" "B<sem_close>(3), B<sem_destroy>(3), B<sem_getvalue>(3), B<sem_init>(3), " "B<sem_open>(3), B<sem_post>(3), B<sem_unlink>(3), B<sem_wait>(3), " @@ -1140,7 +1117,7 @@ msgid "" msgstr "" "B<sem_close>(3), B<sem_destroy>(3), B<sem_getvalue>(3), B<sem_init>(3), " "B<sem_open>(3), B<sem_post>(3), B<sem_unlink>(3), B<sem_wait>(3), " -"B<pthreads>(7)" +"B<pthreads>(7), B<shm_overview>(7)" #. type: TH #: build/C/man3/sem_post.3:26 @@ -1184,8 +1161,8 @@ msgid "" "B<sem_post>() returns 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 "" -"B<sem_post>() renvoie 0 s'il réussit. S'il échoue, la valeur du sémaphore " -"n'est pas modifiée, il renvoie -1 et écrit I<errno> en conséquence." +"B<sem_post>() renvoie 0 s'il réussit. S'il échoue, la valeur du sémaphore " +"n'est pas modifiée, il renvoie -1 et écrit I<errno> en conséquence." #. type: TP #: build/C/man3/sem_post.3:57 @@ -1193,7 +1170,7 @@ msgstr "" msgid "B<EOVERFLOW>" msgstr "B<EOVERFLOW>" -#. Added in POSIX.1-2008 TC1 (Austin Interpretation 213) +#. Added in POSIX.1-2008 TC1 (Austin Interpretation 213) #. type: Plain text #: build/C/man3/sem_post.3:61 msgid "The maximum allowable value for a semaphore would be exceeded." @@ -1201,10 +1178,9 @@ msgstr "La valeur maximale autorisée pour un sémaphore serait dépassée." #. type: tbl table #: build/C/man3/sem_post.3:71 -#, fuzzy, no-wrap -#| msgid "See B<sem_wait>(3)." +#, no-wrap msgid "B<sem_post>()" -msgstr "Consultez B<sem_wait>(3)." +msgstr "B<sem_post>()" #. type: Plain text #: build/C/man3/sem_post.3:79 @@ -1222,11 +1198,10 @@ msgstr "Consultez B<sem_wait>(3)." #. type: Plain text #: build/C/man3/sem_post.3:87 -#, fuzzy -#| msgid "B<sem_getvalue>(3), B<sem_wait>(3), B<sem_overview>(7)" msgid "" "B<sem_getvalue>(3), B<sem_wait>(3), B<sem_overview>(7), B<signal-safety>(7)" -msgstr "B<sem_getvalue>(3), B<sem_wait>(3), B<sem_overview>(7)" +msgstr "" +"B<sem_getvalue>(3), B<sem_wait>(3), B<sem_overview>(7), B<signal-safety>(7)" #. type: TH #: build/C/man3/sem_unlink.3:26 @@ -1268,7 +1243,7 @@ msgid "" "On success B<sem_unlink>() returns 0; on error, -1 is returned, with " "I<errno> set to indicate the error." msgstr "" -"S'il réussit, B<sem_unlink>() renvoie 0. S'il échoue, il renvoie -1 et écrit " +"S'il réussit, B<sem_unlink>() renvoie 0. S'il échoue, il renvoie -1 et écrit " "I<errno> en conséquence." #. type: Plain text @@ -1285,7 +1260,7 @@ msgstr "Il n'y a pas de sémaphore du nom de I<name>." #: build/C/man3/sem_unlink.3:72 #, no-wrap msgid "B<sem_unlink>()" -msgstr "" +msgstr "B<sem_unlink>()" #. type: Plain text #: build/C/man3/sem_unlink.3:82 @@ -1335,14 +1310,8 @@ msgstr "" #. type: Plain text #: build/C/man3/sem_wait.3:49 -#, fuzzy -#| msgid "" -#| "B<sem_timedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ " -#| "E<gt>=\\ 600" msgid "B<sem_timedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L" -msgstr "" -"B<sem_timedwait>() : _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ " -"E<gt>=\\ 600" +msgstr "B<sem_timedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 200112L" #. type: Plain text #: build/C/man3/sem_wait.3:59 @@ -1355,11 +1324,11 @@ msgid "" "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 0, la décrémentation s'effectue et " -"la fonction revient immédiatement. Si le sémaphore vaut zéro, l'appel " -"bloquera jusqu'à ce que soit il devienne disponible d'effectuer la " -"décrémentation (c'est-à -dire la valeur du sémaphore n'est plus nulle), soit " -"un gestionnaire de signaux interrompe l'appel." +"valeur du sémaphore est plus grande que 0, 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 #: build/C/man3/sem_wait.3:69 @@ -1368,7 +1337,7 @@ msgid "" "cannot be immediately performed, then call returns an error (I<errno> set to " "B<EAGAIN>) instead of blocking." msgstr "" -"B<sem_trywait>() est pareil que B<sem_wait>(), excepté que si la " +"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 bloquer." @@ -1382,7 +1351,7 @@ msgid "" "nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC). This " "structure is defined as follows:" msgstr "" -"B<sem_timedwait>() est pareil que B<sem_wait>(), excepté que I<abs_timeout> " +"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 qui spécifie un temps absolu en " @@ -1434,8 +1403,8 @@ msgid "" "semaphore is left unchanged, -1 is returned, and I<errno> is set to indicate " "the error." msgstr "" -"Toutes ces fonctions renvoient 0 si elles réussissent. Si elles échouent, la " -"valeur du sémaphore n'est pas modifiée, elles renvoient -1 et écrivent " +"Toutes ces fonctions renvoient 0 si elles réussissent. Si elles échouent, la " +"valeur du sémaphore n'est pas modifiée, elles renvoient -1 et écrivent " "I<errno> en conséquence." #. type: TP @@ -1485,8 +1454,8 @@ msgid "" "The value of I<abs_timeout.tv_nsecs> is less than 0, or greater than or " "equal to 1000 million." msgstr "" -"La valeur de I<abs_timeout.tv_nsecs> est plus petite que 0 ou supérieure ou " -"égale à 1 milliard." +"La valeur de I<abs_timeout.tv_nsecs> est plus petite que 0 ou supérieure ou " +"égale à 1 milliard." #. type: TP #: build/C/man3/sem_wait.3:138 @@ -1494,8 +1463,8 @@ msgstr "" msgid "B<ETIMEDOUT>" msgstr "B<ETIMEDOUT>" -#. POSIX.1-2001 also allows EDEADLK -- "A deadlock condition -#. was detected", but this does not occur on Linux(?). +#. POSIX.1-2001 also allows EDEADLK -- "A deadlock condition +#. was detected", but this does not occur on Linux(?). #. type: Plain text #: build/C/man3/sem_wait.3:143 msgid "The call timed out before the semaphore could be locked." @@ -1503,13 +1472,15 @@ msgstr "Le délai a expiré avant que le sémaphore ait pu être verrouillé." #. type: tbl table #: build/C/man3/sem_wait.3:155 -#, fuzzy, no-wrap -#| msgid "B<sem_post>(3), B<sem_wait>(3), B<sem_overview>(7)" +#, no-wrap msgid "" "B<sem_wait>(),\n" "B<sem_trywait>(),\n" "B<sem_timedwait>()" -msgstr "B<sem_post>(3), B<sem_wait>(3), B<sem_overview>(7)" +msgstr "" +"B<sem_wait>(),\n" +"B<sem_trywait>(),\n" +"B<sem_timedwait>()" #. type: Plain text #: build/C/man3/sem_wait.3:178 @@ -1785,7 +1756,7 @@ msgstr "SEMCTL" #. type: Plain text #: build/C/man2/semctl.2:44 msgid "semctl - System V semaphore control operations" -msgstr "semctl - Opérations de contrôle sur les sémaphores System V" +msgstr "semctl - Opérations de contrôle sur les sémaphores System V" #. type: Plain text #: build/C/man2/semctl.2:49 build/C/man2/semget.2:44 build/C/man2/semop.2:43 @@ -1953,8 +1924,8 @@ msgstr "" "pointée par I<arg.buf> dans la structure de données du noyau associée à cet " "ensemble de sémaphores, en mettant à jour son champ I<sem_ctime>. Les " "membres suivants de la structure sont mis à jour\\ : I<sem_perm.uid>, " -"I<sem_perm.gid>, et les neuf bits de poids faible de I<sem_perm.mode>. L'UID " -"effectif du processus appelant doit être celle du propriétaire (I<sem_perm." +"I<sem_perm.gid> et les neuf bits de poids faible de I<sem_perm.mode>. L'UID " +"effectif du processus appelant doit être celui du propriétaire (I<sem_perm." "uid>) ou du créateur (I<sem_perm.cuid>) de l'ensemble de sémaphores, ou " "l'appelant doit être privilégié. L'argument I<semnum> est ignoré." @@ -2069,7 +2040,7 @@ msgstr "" "Renvoyer une structure I<seminfo> contenant les mêmes informations que pour " "B<IPC_INFO>, sauf les champs suivants qui sont remplis avec des informations " "sur les ressources système actuellement utilisées par les sémaphores\\ : le " -"champ I<semusz> renvoie le nombre d'ensemble de sémaphores existant sur le " +"champ I<semusz> renvoie le nombre d'ensembles de sémaphores existants sur le " "système, et le champ I<semaem> renvoie le nombre total de sémaphores dans " "tous les ensembles de sémaphores du système." @@ -2125,7 +2096,7 @@ msgid "" msgstr "" "Renvoyer la valeur de B<semncnt> pour le I<semnum>-ième sémaphore de " "l'ensemble (c'est-à -dire le nombre de processus attendant pour une " -"augmentation de B<semval> du I<semnum>-ième sémaphore de l'ensemble). Le " +"augmentation de B<semval> du I<semnum>-ième sémaphore de l'ensemble). Le " "processus appelant doit avoir des privilèges de lecture sur le jeu de " "sémaphores." @@ -2137,12 +2108,6 @@ msgstr "B<GETPID>" #. type: Plain text #: build/C/man2/semctl.2:276 -#, fuzzy -#| msgid "" -#| "Return the value of B<sempid> for the I<semnum>-th semaphore of the set " -#| "(i.e., the PID of the process that executed the last B<semop>(2) call " -#| "for the I<semnum>-th semaphore of the set). The calling process must " -#| "have read permission on the semaphore set." msgid "" "Return the value of B<sempid> for the I<semnum>-th semaphore of the set. " "This is the PID of the process that last performed an operation on that " @@ -2150,9 +2115,9 @@ msgid "" "the semaphore set." msgstr "" "Renvoyer la valeur de B<sempid> pour le I<semnum>-ième sémaphore de " -"l'ensemble (c'est-à -dire le PID du processus ayant exécuté le dernier appel " -"système B<semop>(2) sur le I<semnum>-ième sémaphore). Le processus appelant " -"doit avoir des privilèges de lecture sur le jeu de sémaphores." +"l'ensemble. Il s'agit du PID du processus ayant exécuté la dernière " +"opération sur ce sémaphore (voir les NOTES). Le processus appelant doit " +"avoir des privilèges de lecture sur le jeu de sémaphores." #. type: TP #: build/C/man2/semctl.2:276 build/C/man2/semctl.2:356 @@ -2186,7 +2151,7 @@ msgid "" msgstr "" "Renvoyer la valeur du champ B<semzcnt> du I<semnum>-ième sémaphore de " "l'ensemble (c'est-à -dire le nombre de processus attendant que le champ " -"B<semval> du I<semnum>-ième sémaphore revienne à 0). Le processus appelant " +"B<semval> du I<semnum>-ième sémaphore revienne à  0). Le processus appelant " "doit avoir des privilèges de lecture sur le jeu de sémaphores." #. type: TP @@ -2245,7 +2210,7 @@ msgstr "" #: build/C/man2/semctl.2:344 msgid "On failure, B<semctl>() returns -1 with I<errno> indicating the error." msgstr "" -"B<semctl>() renvoie -1 s'il échoue auquel cas I<errno> contient le code " +"B<semctl>() renvoie -1 s'il échoue auquel cas I<errno> contient le code " "d'erreur." #. type: Plain text @@ -2333,13 +2298,6 @@ msgstr "En cas d'échec, I<errno> prend l'une des valeurs suivantes\\ :" #. type: Plain text #: build/C/man2/semctl.2:407 -#, fuzzy -#| msgid "" -#| "The argument I<cmd> has one of the values B<GETALL>, B<GETPID>, " -#| "B<GETVAL>, B<GETNCNT>, B<GETZCNT>, B<IPC_STAT>, B<SEM_STAT>, B<SETALL>, " -#| "or B<SETVAL> and the calling process does not have the required " -#| "permissions on the semaphore set and does not have the B<CAP_IPC_OWNER> " -#| "capability." msgid "" "The argument I<cmd> has one of the values B<GETALL>, B<GETPID>, B<GETVAL>, " "B<GETNCNT>, B<GETZCNT>, B<IPC_STAT>, B<SEM_STAT>, B<SETALL>, or B<SETVAL> " @@ -2348,9 +2306,10 @@ msgid "" "namespace that governs its IPC namespace." msgstr "" "L'argument I<cmd> a l'une des valeurs suivantes B<GETALL>, B<GETPID>, " -"B<GETVAL>, B<GETNCNT>, B<GETZCNT>, B<IPC_STAT>, B<SEM_STAT>, B<SETALL>, ou " +"B<GETVAL>, B<GETNCNT>, B<GETZCNT>, B<IPC_STAT>, B<SEM_STAT>, B<SETALL> ou " "B<SETVAL> et le processus appelant n'a pas les permissions nécessaires sur " -"le jeu de sémaphore et n'a pas la capacité B<CAP_IPC_OWNER>." +"le jeu de sémaphores et n'a pas la capacité B<CAP_IPC_OWNER> dans l'espace de " +"noms utilisateur qui régit son espace de noms IPC." #. type: TP #: build/C/man2/semctl.2:407 build/C/man2/semop.2:336 @@ -2383,7 +2342,7 @@ msgid "" "index value specified in I<semid> referred to an array slot that is " "currently unused." msgstr "" -"Valeur de I<cmd> ou I<semid> invalide. Ou bien, pour une opération " +"Valeur de I<cmd> ou I<semid> non valable. Ou bien, pour une opération " "B<SEM_STAT>, l'indice indiqué dans I<semid> référence une entrée " "actuellement inutilisée de la table." @@ -2420,37 +2379,31 @@ msgid "" "or greater than the implementation limit B<SEMVMX>." msgstr "" "L'argument I<cmd> réclame les commandes B<SETALL> ou B<SETVAL> et la valeur " -"de B<semval> (pour l'ensemble ou pour certains sémaphores) est inférieure à " -"0 ou supérieur à la valeur B<SEMVMX>." +"de B<semval> (pour l'ensemble ou pour certains sémaphores) est inférieure " +"à  0 ou supérieur à la valeur B<SEMVMX>." -#. SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC. +#. SVr4 documents additional error conditions EINVAL, EFBIG, ENOSPC. #. type: Plain text #: build/C/man2/semctl.2:462 build/C/man2/semop.2:389 msgid "POSIX.1-2001, POSIX.1-2008, SVr4." -msgstr "" +msgstr "POSIX.1-2001, POSIX.1-2008, SVr4." -#. POSIX.1-2001, POSIX.1-2008 +#. POSIX.1-2001, POSIX.1-2008 #. type: Plain text #: build/C/man2/semctl.2:474 -#, fuzzy -#| msgid "" -#| "POSIX.1-2001 specifies the I<sem_nsems> field of the I<semid_ds> " -#| "structure as having the type I<unsigned\\ short>, and the field is so " -#| "defined on most other systems. It was also so defined on Linux 2.2 and " -#| "earlier, but, since Linux 2.4, the field has the type I<unsigned\\ long>." msgid "" "POSIX.1 specifies the I<sem_nsems> field of the I<semid_ds> structure as " "having the type I<unsigned\\ short>, and the field is so defined on most " "other systems. It was also so defined on Linux 2.2 and earlier, but, since " "Linux 2.4, the field has the type I<unsigned\\ long>." msgstr "" -"POSIX.1-2001 spécifie le champ I<sem_nsems> de la structure I<semid_ds> " -"comme de type I<unsigned\\ short>, ce qui est suivi par de nombreux " -"systèmes. Ce champ était défini ainsi dans Linux 2.2 et dans les versions " -"précédentes. Depuis Linux 2.4, ce champ et de type I<unsigned\\ long>." +"POSIX.1 spécifie le champ I<sem_nsems> de la structure I<semid_ds> comme de " +"type I<unsigned\\ short>, ce qui est suivi par de nombreux systèmes. Ce " +"champ était défini ainsi dans Linux 2.2 et dans les versions précédentes. " +"Depuis Linux 2.4, ce champ est de type I<unsigned\\ long>." -#. Like Linux, the FreeBSD man pages still document -#. the inclusion of these header files. +#. Like Linux, the FreeBSD man pages still document +#. the inclusion of these header files. #. type: Plain text #: build/C/man2/semctl.2:487 build/C/man2/semget.2:236 build/C/man2/semop.2:402 msgid "" @@ -2476,7 +2429,7 @@ msgid "" msgstr "" "Les appels système B<IPC_INFO>, B<SEM_STAT> et B<SEM_INFO> sont utilisés par " "le programme B<ipcs>(1) pour fournir des informations sur les ressources " -"allouées. Ceci peut changer dans le futur, en utilisant l'interface d'un " +"allouées. Cela peut changer dans le futur, en utilisant l'interface d'un " "système de fichiers I</proc>." #. type: Plain text @@ -2487,21 +2440,15 @@ msgid "" "recompilation under glibc-2.1.91 or later should suffice. (The kernel " "distinguishes old and new calls by an B<IPC_64> flag in I<cmd>.)" msgstr "" -"Divers champs de la I<struct semid_ds> étaient de type I<short> sous Linux " -"2.2 et sont devenus des I<long> sous Linux 2.4. Pour en tirer parti, une " -"recompilation sous glibc 2.1.91 ou ultérieure doit suffire. (Le noyau " +"Divers champs de la I<struct semid_ds> étaient de type I<short> sous " +"Linux 2.2 et sont devenus des I<long> sous Linux 2.4. Pour en tirer parti, une " +"recompilation sous glibc 2.1.91 ou ultérieure doit suffire. (Le noyau " "distingue les anciens et nouveaux appels par un drapeau B<IPC_64> dans " "I<cmd>.)" -#. POSIX.1-2001, POSIX.1-2008 +#. POSIX.1-2001, POSIX.1-2008 #. type: Plain text #: build/C/man2/semctl.2:522 -#, fuzzy -#| msgid "" -#| "In some earlier versions of glibc, the I<semun> union was defined in " -#| "I<E<lt>sys/sem.hE<gt>>, but POSIX.1-2001 requires that the caller define " -#| "this union. On versions of glibc where this union is I<not> defined, the " -#| "macro B<_SEM_SEMUN_UNDEFINED> is defined in I<E<lt>sys/sem.hE<gt>>." msgid "" "In some earlier versions of glibc, the I<semun> union was defined in " "I<E<lt>sys/sem.hE<gt>>, but POSIX.1 requires that the caller define this " @@ -2509,7 +2456,7 @@ msgid "" "B<_SEM_SEMUN_UNDEFINED> is defined in I<E<lt>sys/sem.hE<gt>>." msgstr "" "Dans certaines versions antérieures de glibc, l'union I<semun> était définie " -"dans I<E<lt>sys/sem.hE<gt>>, mais POSIX.1-2001 documente que l'appelant doit " +"dans I<E<lt>sys/sem.hE<gt>>, mais POSIX.1 documente que l'appelant doit " "définir cette union. Dans les versions de glibc où cette union n'est I<pas> " "définie, la macro B<_SEM_SEMUN_UNDEFINED> est définie dans I<E<lt>sys/sem." "hE<gt>>." @@ -2546,7 +2493,7 @@ msgstr "" #: build/C/man2/semctl.2:536 #, no-wrap msgid "The sempid value" -msgstr "" +msgstr "La valeur sempid" #. type: Plain text #: build/C/man2/semctl.2:545 @@ -2556,8 +2503,12 @@ msgid "" "B<semop>(2) call, with the implication that no other interface affects the " "I<sempid> value." msgstr "" +"POSIX.1 définit I<sempid> comme l'« ID du processus de la dernière " +"opération » sur un sémaphore, et note explicitement que cette valeur est " +"réglée par un appel B<semop> réussi, avec l'implication qu'aucune autre " +"interface n'affecte la valeur I<sempid>." -#. At least OpenSolaris (and, one supposes, older Solaris) and Darwin +#. At least OpenSolaris (and, one supposes, older Solaris) and Darwin #. type: Plain text #: build/C/man2/semctl.2:563 msgid "" @@ -2570,8 +2521,16 @@ msgid "" "process termination as a consequence of the use of the B<SEM_UNDO> flag (see " "B<semop>(2))." msgstr "" +"Bien que certaines implémentations respectent le comportement défini dans " +"POSIX.1, d'autres ne le font pas (le tort revient ici probablement à POSIX.1 " +"qui n'a pas réussi à englober tous les comportements implémentés existants). " +"Diverses autres implémentations mettent également à jour I<sempid> pour " +"d'autres opérations qui mettent à jour la valeur d'un sémaphore : les " +"opérations B<SETVAL> et B<SETALL>, ainsi que les ajustements de sémaphores " +"exécutés en fin de processus du fait de l'utilisation de l'option " +"B<SEM_UNDO> (voir B<semop>(2))." -#. commit a5f4db877177d2a3d7ae62a7bac3a5a27e083d7f +#. commit a5f4db877177d2a3d7ae62a7bac3a5a27e083d7f #. type: Plain text #: build/C/man2/semctl.2:578 msgid "" @@ -2580,6 +2539,10 @@ msgid "" "Linux did not update I<sempid> for B<SETALL> operations. This was rectified " "in Linux 4.6." msgstr "" +"Linux modifie également I<sempid> pour les opérations B<SETVAL> et les " +"ajustements de sémaphores. Cependant, de façon plutôt incohérente, Linux ne " +"mettait pas à jour I<sempid> pour les opérations B<SETALL> jusqu'à la " +"version 4.5 incluse. Cela a été corrigé avec la version 4.6." #. type: Plain text #: build/C/man2/semctl.2:585 @@ -2605,7 +2568,7 @@ msgstr "30 avril 2018" #. type: Plain text #: build/C/man2/semget.2:39 msgid "semget - get a System V semaphore set identifier" -msgstr "semget - Obtenir l'identifiant d'un ensemble de sémaphores System V" +msgstr "semget - Obtenir l'identifiant d'un ensemble de sémaphores System V" #. type: Plain text #: build/C/man2/semget.2:49 @@ -2616,13 +2579,6 @@ msgstr "" #. type: Plain text #: build/C/man2/semget.2:63 -#, fuzzy -#| msgid "" -#| "The B<semget>() system call returns the System\\ V semaphore set " -#| "identifier associated with the argument I<key>. A new set of I<nsems> " -#| "semaphores is created if I<key> has the value B<IPC_PRIVATE> or if no " -#| "existing semaphore set is associated with I<key> and B<IPC_CREAT> is " -#| "specified in I<semflg>." msgid "" "The B<semget>() system call returns the System\\ V semaphore set identifier " "associated with the argument I<key>. It may be used either to obtain the " @@ -2630,30 +2586,21 @@ msgid "" "I<key> does not have the value B<IPC_PRIVATE>), or to create a new set." msgstr "" "L'appel système B<semget>() renvoie l'identifiant de l'ensemble de " -"sémaphores System V associé à la valeur de clé I<key>. Un nouvel ensemble " -"contenant I<nsems> sémaphores est créé si I<key> a la valeur B<IPC_PRIVATE> " -"ou si aucun ensemble n'est associé à I<key>, et si l'option B<IPC_CREAT> est " -"présente dans I<semflg>." +"sémaphores System V associé à la valeur de clé I<key>. Cela peut servir pour " +"obtenir l'identifiant d'un ensemble de sémaphores créé précédemment (lorsque " +"I<semflg> vaut 0 et que I<key> n'a pas la valeur B<IPC_PRIVATE>) ou pour " +"créer un nouvel ensemble." #. type: Plain text #: build/C/man2/semget.2:76 -#, fuzzy -#| msgid "" -#| "The B<semget>() system call returns the System\\ V semaphore set " -#| "identifier associated with the argument I<key>. A new set of I<nsems> " -#| "semaphores is created if I<key> has the value B<IPC_PRIVATE> or if no " -#| "existing semaphore set is associated with I<key> and B<IPC_CREAT> is " -#| "specified in I<semflg>." msgid "" "A new set of I<nsems> semaphores is created if I<key> has the value " "B<IPC_PRIVATE> or if no existing semaphore set is associated with I<key> and " "B<IPC_CREAT> is specified in I<semflg>." msgstr "" -"L'appel système B<semget>() renvoie l'identifiant de l'ensemble de " -"sémaphores System V associé à la valeur de clé I<key>. Un nouvel ensemble " -"contenant I<nsems> sémaphores est créé si I<key> a la valeur B<IPC_PRIVATE> " -"ou si aucun ensemble n'est associé à I<key>, et si l'option B<IPC_CREAT> est " -"présente dans I<semflg>." +"Un nouvel ensemble contenant I<nsems> sémaphores est créé si I<key> a la " +"valeur B<IPC_PRIVATE> ou si aucun ensemble n'est associé à I<key>, et si " +"l'option B<IPC_CREAT> est présente dans I<semflg>." #. type: Plain text #: build/C/man2/semget.2:95 @@ -2665,7 +2612,7 @@ msgid "" msgstr "" "Si I<semflg> contient à la fois B<IPC_CREAT> et B<IPC_EXCL> et qu'un " "ensemble de sémaphores existe déjà pour la clé I<key>, B<semget>() échoue et " -"I<errno> vaut B<EEXIST>. (Ceci est analogue à l'effet de la combinaison " +"I<errno> vaut B<EEXIST>. (Cela est analogue à l'effet de la combinaison " "B<O_CREAT | O_EXCL> pour B<open>(2).)" #. type: Plain text @@ -2677,7 +2624,7 @@ msgid "" "B<open>(2) (though the execute permissions are not meaningful for " "semaphores, and write permissions mean permission to alter semaphore values)." msgstr "" -"Pendant la création, les 9 bits de poids faible de l'argument I<semflg> " +"Pendant la création, les 9 bits de poids faible de l'argument I<semflg> " "définissent les permissions d'accès (pour le propriétaire, le groupe et les " "autres) au jeu de sémaphores, en utilisant le même format et la même " "signification que les droits d'accès dans B<open>(2). Les permissions " @@ -2718,7 +2665,7 @@ msgid "" "The least significant 9 bits of I<sem_perm.mode> are set to the least " "significant 9 bits of I<semflg>." msgstr "" -"Les 9 bits de poids faible de I<sem_perm.mode> contiennent les 9 bits de " +"Les 9 bits de poids faible de I<sem_perm.mode> contiennent les 9 bits de " "poids faible de I<semflg>." #. type: Plain text @@ -2729,7 +2676,7 @@ msgstr "I<sem_nsems> reçoit la valeur I<nsems>." #. type: Plain text #: build/C/man2/semget.2:138 msgid "I<sem_otime> is set to 0." -msgstr "I<sem_otime> est mis à 0." +msgstr "I<sem_otime> est mis à  0." #. type: Plain text #: build/C/man2/semget.2:141 @@ -2743,12 +2690,12 @@ msgid "" "being created. Otherwise, I<nsems> must be greater than 0 and less than or " "equal to the maximum number of semaphores per semaphore set (B<SEMMSL>)." msgstr "" -"L'argument I<nsems> peut valoir 0 (ignore) si l'appel système n'est pas une " -"création d'ensemble de sémaphores. Autrement I<nsems> doit être supérieur à " -"0 et inférieur ou égal au nombre maximal de sémaphores par ensemble " +"L'argument I<nsems> peut valoir 0 (ignore) si l'appel système n'est pas une " +"création d'ensemble de sémaphores. Autrement I<nsems> doit être supérieur " +"à  0 et inférieur ou égal au nombre maximal de sémaphores par ensemble " "(B<SEMMSL>)." -#. and a check is made to see if it is marked for destruction. +#. and a check is made to see if it is marked for destruction. #. type: Plain text #: build/C/man2/semget.2:156 msgid "If the semaphore set already exists, the permissions are verified." @@ -2763,26 +2710,22 @@ msgid "" "the error." msgstr "" "Si l'appel réussit, il renvoie l'identifiant de l'ensemble (un entier " -"positif), sinon il renvoie -1 et I<errno> contient le code d'erreur." +"positif), sinon il renvoie -1 et I<errno> contient le code d'erreur." #. type: Plain text #: build/C/man2/semget.2:174 -#, fuzzy -#| msgid "" -#| "A semaphore set exists for I<key>, but the calling process does not have " -#| "permission to access the set, and does not have the B<CAP_IPC_OWNER> " -#| "capability." msgid "" "A semaphore set exists for I<key>, but the calling process does not have " "permission to access the set, and does not have the B<CAP_IPC_OWNER> " "capability in the user namespace that governs its IPC namespace." msgstr "" "Le jeu de sémaphore associé à I<key> existe, mais le processus n'a aucun " -"droit d'accès sur lui et n'a pas la capacité B<CAP_IPC_OWNER>." +"droit d'accès sur lui et n'a pas la capacité B<CAP_IPC_OWNER> dans l'espace " +"de noms utilisateur qui régit son espace de noms IPC." -#. .TP -#. .B EIDRM -#. The semaphore set is marked to be deleted. +#. .TP +#. .B EIDRM +#. The semaphore set is marked to be deleted. #. type: Plain text #: build/C/man2/semget.2:186 msgid "" @@ -2798,7 +2741,7 @@ msgid "" "I<nsems> is less than 0 or greater than the limit on the number of " "semaphores per semaphore set (B<SEMMSL>)." msgstr "" -"I<nsems> est inférieur à zéro ou supérieur à la limite sur le nombre de " +"I<nsems> est inférieur à zéro ou supérieur à la limite du nombre de " "sémaphores par ensemble, (B<SEMMSL>)." #. type: Plain text @@ -2816,7 +2759,7 @@ msgid "" "No semaphore set exists for I<key> and I<semflg> did not specify " "B<IPC_CREAT>." msgstr "" -"Aucun jeu de sémaphore associé a I<key> n'existe et l'argument I<semflg> ne " +"Aucun jeu de sémaphores associé a I<key> n'existe et l'argument I<semflg> ne " "précise pas B<IPC_CREAT>." #. type: Plain text @@ -2843,8 +2786,8 @@ msgstr "" "atteint, ou le nombre maximal de sémaphores sur le système est atteint " "(B<SEMMNS>)." -#. SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, -#. ERANGE, EFAULT. +#. SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN, +#. ERANGE, EFAULT. #. type: Plain text #: build/C/man2/semget.2:223 msgid "SVr4, POSIX.1-2001." @@ -2859,7 +2802,7 @@ msgid "" msgstr "" "B<IPC_PRIVATE> n'est pas une option, mais un objet de type I<key_t>. Si l'on " "utilise cette valeur spéciale dans l'argument I<key>, l'appel système ne se " -"préoccupera que des 9 bits de poids faible de I<semflg> et tentera de créer " +"préoccupera que des 9 bits de poids faible de I<semflg> et tentera de créer " "un nouveau jeu de sémaphores." #. type: SS @@ -2868,9 +2811,9 @@ msgstr "" msgid "Semaphore initialization" msgstr "Initialisation des sémaphores" -#. In truth, every one of the many implementations that I've tested sets -#. the values to zero, but I suppose there is/was some obscure -#. implementation out there that does not. +#. In truth, every one of the many implementations that I've tested sets +#. the values to zero, but I suppose there is/was some obscure +#. implementation out there that does not. #. type: Plain text #: build/C/man2/semget.2:259 msgid "" @@ -2885,9 +2828,9 @@ msgstr "" "Les valeurs des sémaphores dans un ensemble qui vient d'être créé sont " "indéterminées (POSIX.1-2001 et POSIX.1-2008 sont explicites sur ce point, " "bien que POSIX.1-2008 note que de futures versions du standard pourraient " -"exiger des implémentations qu'elles initialisent les sémapohores à 0). Même " +"exiger des implémentations qu'elles initialisent les sémaphores à  0). Même " "si Linux, comme de nombreuses autres implémentations, initialise les valeurs " -"des sémaphores à 0, une application portable ne peut pas compter sur cette " +"des sémaphores à  0, une application portable ne peut pas compter sur cette " "initialisation\\ : elle doit initialiser explicitement les sémaphores à la " "valeur souhaitée." @@ -2917,7 +2860,7 @@ msgstr "Limites des sémaphores" #: build/C/man2/semget.2:278 msgid "" "The following limits on semaphore set resources affect the B<semget>() call:" -msgstr "Les limites suivantes concernent l'appel système B<semget>()\\ :" +msgstr "Les limites suivantes de ressources concernent l'appel système B<semget>()\\ :" #. type: TP #: build/C/man2/semget.2:278 @@ -2925,24 +2868,20 @@ msgstr "Les limites suivantes concernent l'appel système B<semget>()\\ :" msgid "B<SEMMNI>" msgstr "B<SEMMNI>" -#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 -#. This /proc file is not available in Linux 2.2 and earlier -- MTK +#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 +#. This /proc file is not available in Linux 2.2 and earlier -- MTK #. type: Plain text #: build/C/man2/semget.2:289 -#, fuzzy -#| msgid "" -#| "System-wide limit on the number of semaphore sets: policy dependent (on " -#| "Linux, this limit can be read and modified via the fourth field of I</" -#| "proc/sys/kernel/sem>)." msgid "" "System-wide limit on the number of semaphore sets. On Linux systems before " "version 3.19, the default value for this limit was 128. Since Linux 3.19, " "the default value is 32,000. On Linux, this limit can be read and modified " "via the fourth field of I</proc/sys/kernel/sem>." msgstr "" -"Limite système du nombre de jeux de sémaphores : dépend de la politique " -"(sous Linux, cette limite peut être lue et modifiée dans le quatrième champ " -"de I</proc/sys/kernel/sem>)." +"Limite système du nombre de jeux de sémaphores. Sur les systèmes Linux " +"antérieurs à la version 3.19, la valeur par défaut pour cette limite était " +"de 128. Depuis Linux 3.19, elle est de 32 000. Sous Linux, cette limite peut " +"être lue et modifiée dans le quatrième champ de I</proc/sys/kernel/sem>." #. type: TP #: build/C/man2/semget.2:289 @@ -2950,23 +2889,19 @@ msgstr "" msgid "B<SEMMSL>" msgstr "B<SEMMSL>" -#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 +#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 #. type: Plain text #: build/C/man2/semget.2:299 -#, fuzzy -#| msgid "" -#| "Maximum number of semaphores per semaphore ID: implementation dependent " -#| "(on Linux, this limit can be read and modified via the first field of I</" -#| "proc/sys/kernel/sem>)." msgid "" "Maximum number of semaphores per semaphore ID. On Linux systems before " "version 3.19, the default value for this limit was 250. Since Linux 3.19, " "the default value is 32,000. On Linux, this limit can be read and modified " "via the first field of I</proc/sys/kernel/sem>." msgstr "" -"Nombre maximal de sémaphores par ensemble\\ : dépendant de l'implémentation " -"(sous Linux, cette limite peut être lue et modifiée dans le premier champ de " -"I</proc/sys/kernel/sem>)." +"Nombre maximal de sémaphores par ensemble. Sur les systèmes Linux antérieurs " +"à la version 3.19, la valeur par défaut pour cette limite était de 250. " +"Depuis Linux 3.19, elle est de 32 000. Sous Linux, cette limite peut être " +"lue et modifiée dans le premier champ de I</proc/sys/kernel/sem>." #. type: TP #: build/C/man2/semget.2:299 @@ -2976,12 +2911,6 @@ msgstr "B<SEMMNS>" #. type: Plain text #: build/C/man2/semget.2:309 -#, fuzzy -#| msgid "" -#| "System-wide limit on the number of semaphores: policy dependent (on " -#| "Linux, this limit can be read and modified via the second field of I</" -#| "proc/sys/kernel/sem>). Note that number of semaphores system-wide is " -#| "also limited by the product of B<SEMMSL> and B<SEMMNI>." msgid "" "System-wide limit on the number of semaphores: policy dependent (on Linux, " "this limit can be read and modified via the second field of I</proc/sys/" @@ -3026,7 +2955,7 @@ msgstr "SEMOP" #. type: Plain text #: build/C/man2/semop.2:38 msgid "semop, semtimedop - System V semaphore operations" -msgstr "semop, semtimedop - Opérations sur les sémaphores System V" +msgstr "semop, semtimedop - Opérations sur les sémaphores System V" #. type: Plain text #: build/C/man2/semop.2:45 @@ -3060,32 +2989,20 @@ msgstr "" #. type: Plain text #: build/C/man2/semop.2:67 -#, fuzzy, no-wrap -#| msgid "" -#| "unsigned short semval; /* semaphore value */\n" -#| "unsigned short semzcnt; /* # waiting for zero */\n" -#| "unsigned short semncnt; /* # waiting for increase */\n" -#| "pid_t sempid; /* ID of process that did last op */\n" +#, no-wrap msgid "" "unsigned short semval; /* semaphore value */\n" "unsigned short semzcnt; /* # waiting for zero */\n" "unsigned short semncnt; /* # waiting for increase */\n" "pid_t sempid; /* PID of process that last\n" msgstr "" -"unsigned short semval; /* valeur du sémaphore */\n" +"unsigned short semval; /* Valeur du sémaphore */\n" "unsigned short semzcnt; /* # Attente pour zéro */\n" "unsigned short semncnt; /* # Attente d'incrément */\n" "pid_t sempid; /* PID du dernier processus agissant */\n" #. type: Plain text #: build/C/man2/semop.2:82 -#, fuzzy -#| msgid "" -#| "B<semop>() performs operations on selected semaphores in the set " -#| "indicated by I<semid>. Each of the I<nsops> elements in the array " -#| "pointed to by I<sops> specifies an operation to be performed on a single " -#| "semaphore. The elements of this structure are of type I<struct sembuf>, " -#| "containing the following members:" msgid "" "B<semop>() performs operations on selected semaphores in the set indicated " "by I<semid>. Each of the I<nsops> elements in the array pointed to by " @@ -3134,7 +3051,7 @@ msgstr "" "L'ensemble des opérations contenues dans I<sops> est effectué I<dans " "l'ordre> et I<atomiquement>. Les opérations sont toutes réalisées en même " "temps, et seulement si elles peuvent toutes être effectuées. Le comportement " -"de l'appel système si toutes les opérations ne sont pas réalisables dépend " +"de l'appel système, si toutes les opérations ne sont pas réalisables, dépend " "de la présence de l'attribut B<IPC_NOWAIT> dans les champs I<sem_flg> " "décrits plus bas." @@ -3146,7 +3063,7 @@ msgid "" "types of operation, distinguished by the value of I<sem_op>." msgstr "" "Chaque opération est effectuée sur le I<sem_num>-ième sémaphore de " -"l'ensemble. Le premier sémaphore est le numéro 0. Pour chaque sémaphore, " +"l'ensemble. Le premier sémaphore est le numéro 0. Pour chaque sémaphore, " "l'opération est l'une des trois décrites ci-dessous." #. type: Plain text @@ -3197,7 +3114,7 @@ msgstr "\\(bu" #: build/C/man2/semop.2:167 msgid "" "I<semval> becomes 0, at which time the value of I<semzcnt> is decremented." -msgstr "I<semval> devient égal à 0, alors I<semzcnt> est décrémenté." +msgstr "I<semval> devient égal à  0, alors I<semzcnt> est décrémenté." #. type: Plain text #: build/C/man2/semop.2:175 @@ -3244,7 +3161,7 @@ msgstr "" "I<sem_flg>, l'appel système échoue et I<errno> contient le code d'erreur " "B<EAGAIN> (et aucune des opérations de I<sops> n'est réalisée). Sinon, " "I<semncnt> (le décompte de threads en attente jusqu'à ce que cette valeur de " -"sémaphore soit incrémenté) est incrémenté d'un et le thread s'endort jusqu'à " +"sémaphore soit incrémenté) est incrémenté de un et le thread s'endort jusqu'à " "ce que l'un des événements suivants se produise\\ :" #. type: Plain text @@ -3275,8 +3192,8 @@ msgstr "" "décrémentée et l'appel système échoue avec I<errno> contenant le code " "d'erreur B<EINTR>." -#. and -#. .I sem_ctime +#. and +#. .I sem_ctime #. type: Plain text #: build/C/man2/semop.2:260 msgid "" @@ -3290,10 +3207,9 @@ msgstr "" #. type: SS #: build/C/man2/semop.2:260 -#, fuzzy, no-wrap -#| msgid "B<semtimedop>(): _GNU_SOURCE" +#, no-wrap msgid "semtimedop()" -msgstr "B<semtimedop>() : _GNU_SOURCE" +msgstr "semtimedop()" #. type: Plain text #: build/C/man2/semop.2:290 @@ -3327,6 +3243,9 @@ msgid "" "to fail with the error B<EINTR>, the contents of I<timeout> are left " "unchanged." msgstr "" +"Si B<semtimedop>() est interrompu par un signal, causant l'échec de l'appel " +"avec l'erreur B<EINTR>, les valeurs contenues dans I<timeout> restent " +"inchangées." #. type: Plain text #: build/C/man2/semop.2:308 @@ -3334,8 +3253,8 @@ msgid "" "If successful, B<semop>() and B<semtimedop>() return 0; otherwise they " "return -1 with I<errno> indicating the error." msgstr "" -"En cas de réussite, B<semop>() et B<semtimedop>() renvoient 0. Sinon ils " -"renvoient -1 et I<errno> contient le code d'erreur." +"En cas de réussite, B<semop>() et B<semtimedop>() renvoient 0. Sinon ils " +"renvoient -1 et I<errno> contient le code d'erreur." #. type: Plain text #: build/C/man2/semop.2:312 @@ -3359,11 +3278,6 @@ msgstr "" #. type: Plain text #: build/C/man2/semop.2:327 -#, fuzzy -#| msgid "" -#| "The calling process does not have the permissions required to perform the " -#| "specified semaphore operations, and does not have the B<CAP_IPC_OWNER> " -#| "capability." msgid "" "The calling process does not have the permissions required to perform the " "specified semaphore operations, and does not have the B<CAP_IPC_OWNER> " @@ -3371,7 +3285,8 @@ msgid "" msgstr "" "Le processus appelant n'a pas les permissions nécessaires pour effectuer les " "opérations sur les sémaphores spécifiés et n'a pas la capacité " -"B<CAP_IPC_OWNER>." +"B<CAP_IPC_OWNER> dans l'espace de noms utilisateur qui régit son espace de " +"noms IPC." #. type: Plain text #: build/C/man2/semop.2:336 @@ -3403,7 +3318,7 @@ msgid "" "For some operation the value of I<sem_num> is less than 0 or greater than or " "equal to the number of semaphores in the set." msgstr "" -"La valeur de I<sem_num> est inférieure à 0 ou supérieure ou égale au nombre " +"La valeur de I<sem_num> est inférieure à  0 ou supérieure ou égale au nombre " "de sémaphores dans l'ensemble." #. type: Plain text @@ -3454,9 +3369,9 @@ msgid "" "backported into kernel 2.4.22. Glibc support for B<semtimedop>() first " "appeared in version 2.3.3." msgstr "" -"B<semtimedop>() est apparu pour la première fois dans Linux 2.5.52, puis a " -"été rétroporté au noyau 2.4.22. La gestion de B<semtimedop>() dans la glibc " -"date de la version 2.3.3." +"B<semtimedop>() est apparu pour la première fois dans Linux 2.5.52, puis a " +"été rétroporté au noyau 2.4.22. La gestion de B<semtimedop>() dans la glibc " +"date de la version 2.3.3." #. type: Plain text #: build/C/man2/semop.2:410 @@ -3482,18 +3397,6 @@ msgstr "" #. type: Plain text #: build/C/man2/semop.2:449 -#, fuzzy -#| msgid "" -#| "A semaphore adjustment (I<semadj>) value is a per-process, per-semaphore " -#| "integer that is the negated sum of all operations performed on a " -#| "semaphore specifying the B<SEM_UNDO> flag. Each process has a list of " -#| "I<semadj> values\\(emone value for each semaphore on which it has " -#| "operated using B<SEM_UNDO>. When a process terminates, each of its per-" -#| "semaphore I<semadj> values is added to the corresponding semaphore, thus " -#| "undoing the effect of that process's operations on the semaphore (but see " -#| "BUGS below). When a semaphore's value is directly set using the " -#| "B<SETVAL> or B<SETALL> request to B<semctl>(2), the corresponding " -#| "I<semadj> values in all processes are cleared." msgid "" "A semaphore adjustment (I<semadj>) value is a per-process, per-semaphore " "integer that is the negated sum of all operations performed on a semaphore " @@ -3516,7 +3419,9 @@ msgstr "" "l'effet des opérations du processus sur le sémaphore (voir la section BOGUES " "ci-dessous). Quand la valeur d'un sémaphore est définie directement par une " "requête B<SETVAL> ou B<SETALL> de B<semctl>(2), la valeur I<semadj> " -"correspondante est effacée dans tous les processus." +"correspondante est effacée dans tous les processus. L'option " +"B<CLONE_SYSVSEM> de B<clone>(2) permet à plusieurs processus de partager une " +"liste de I<semadj>. Consultez B<clone>(2) pour plus d'informations." #. type: Plain text #: build/C/man2/semop.2:454 @@ -3531,7 +3436,7 @@ msgstr "" #: build/C/man2/semop.2:458 msgid "" "The following limits on semaphore set resources affect the B<semop>() call:" -msgstr "Les limites système suivantes concernent B<semop>()\\ :" +msgstr "Les limites suivantes de ressources concernent l'appel système B<semop>()\\ :" #. type: TP #: build/C/man2/semop.2:458 @@ -3539,9 +3444,9 @@ msgstr "Les limites système suivantes concernent B<semop>()\\ :" msgid "B<SEMOPM>" msgstr "B<SEMOPM>" -#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 -#. This /proc file is not available in Linux 2.2 and earlier -- MTK -#. See comment in Linux 3.19 source file include/uapi/linux/sem.h +#. commit e843e7d2c88b7db107a86bd2c7145dc715c058f4 +#. This /proc file is not available in Linux 2.2 and earlier -- MTK +#. See comment in Linux 3.19 source file include/uapi/linux/sem.h #. type: Plain text #: build/C/man2/semop.2:478 msgid "" @@ -3552,6 +3457,13 @@ msgid "" "raised above 1000, because of the risk of that B<semop>() fails due to " "kernel memory fragmentation when allocating memory to copy the I<sops> array." msgstr "" +"Nombre maximal d'opérations pour un appel à B<semop>. Avant Linux 3.19, la " +"valeur par défaut pour cette limite était de 32. Depuis Linux 3.19, cette " +"valeur est de 500. Sous Linux, cette limite peut être lue et modifiée via le " +"troisième champ du fichier I</proc/sys/kernel/sem>. I<Note> : cette limite " +"ne devrait pas être augmentée au-delà de 1000 à cause du risque que " +"B<semop>() échoue en raison de la fragmentation de la mémoire du noyau " +"pendant l'allocation de mémoire pour copier le tableau I<sops>." #. type: Plain text #: build/C/man2/semop.2:483 @@ -3591,7 +3503,7 @@ msgid "" msgstr "" "Quand un processus se termine, l'ensemble des structures I<semadj> qui lui " "sont associées servent à annuler les effets de toutes les opérations sur les " -"sémaphores réalisées avec l'attribut B<SEM_UNDO>. Ceci pose un problème\\ : " +"sémaphores réalisées avec l'attribut B<SEM_UNDO>. Cela pose un problème\\ : " "si l'une (ou plusieurs) des modifications sur les sémaphores demande une " "descente du compteur d'un sémaphore au-dessous de zéro, que doit faire " "l'implémentation\\ ? Une approche possible consiste à bloquer jusqu'à ce que " @@ -3603,10 +3515,10 @@ msgstr "" "sémaphore autant que possible (jusqu'à zéro) et permettre au processus de se " "terminer immédiatement." -#. The bug report: -#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2 -#. the fix: -#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2 +#. The bug report: +#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110260821123863&w=2 +#. the fix: +#. http://marc.theaimsgroup.com/?l=linux-kernel&m=110261701025794&w=2 #. type: Plain text #: build/C/man2/semop.2:520 msgid "" @@ -3615,10 +3527,10 @@ msgid "" "being woken up when the value does actually become zero. This bug is fixed " "in kernel 2.6.11." msgstr "" -"Dans les noyaux 2.6.x (x E<lt>= 10) un bogue peut, dans certaines " -"circonstances, empêcher un thread attendant que la valeur d'un sémaphore " -"s'annule d'être réveillé quand cette valeur atteint 0. Ce bogue est corrigé " -"dans le noyau 2.6.11." +"Dans les noyaux 2.6.x (x E<lt>= 10) un bogue peut, dans certaines " +"circonstances, empêcher un thread, attendant que la valeur d'un sémaphore " +"s'annule, d'être réveillé quand cette valeur atteint 0. Ce bogue est corrigé " +"dans le noyau 2.6.11." #. type: Plain text #: build/C/man2/semop.2:525 @@ -3627,79 +3539,62 @@ msgid "" "of semaphore 0 to become zero, and then increment the semaphore value by one." msgstr "" "Le bout de code suivant utilise B<semop>() pour attendre de façon atomique " -"que la valeur du sémaphore 0 vaille zéro, puis incrémente la valeur du " +"que la valeur du sémaphore 0 vaille zéro, puis incrémente la valeur du " "sémaphore de un." #. type: Plain text #: build/C/man2/semop.2:530 -#, fuzzy, no-wrap -#| msgid "" -#| " struct sembuf sops[2];\n" -#| " int semid;\n" +#, no-wrap msgid "" "struct sembuf sops[2];\n" "int semid;\n" msgstr "" -" struct sembuf sops[2];\n" -" int semid;\n" +"struct sembuf sops[2];\n" +"int semid;\n" #. type: Plain text #: build/C/man2/semop.2:532 -#, fuzzy, no-wrap -#| msgid " /* Code to set I<semid> omitted */\n" +#, no-wrap msgid "/* Code to set I<semid> omitted */\n" -msgstr " /* Le code pour configurer I<semid> est omis */\n" +msgstr "/* Le code pour configurer I<semid> est omis */\n" #. type: Plain text #: build/C/man2/semop.2:536 -#, fuzzy, no-wrap -#| msgid "" -#| " sops[0].sem_num = 0; /* Operate on semaphore 0 */\n" -#| " sops[0].sem_op = 0; /* Wait for value to equal 0 */\n" -#| " sops[0].sem_flg = 0;\n" +#, no-wrap msgid "" "sops[0].sem_num = 0; /* Operate on semaphore 0 */\n" "sops[0].sem_op = 0; /* Wait for value to equal 0 */\n" "sops[0].sem_flg = 0;\n" msgstr "" -" sops[0].sem_num = 0; /* Agir sur le semaphore 0 */\n" -" sops[0].sem_op = 0; /* Attendre que la valeur soit égal à 0 */\n" -" sops[0].sem_flg = 0;\n" +"sops[0].sem_num = 0; /* Agir sur le sémaphore 0 */\n" +"sops[0].sem_op = 0; /* Attendre que la valeur soit égale à  0 */\n" +"sops[0].sem_flg = 0;\n" #. type: Plain text #: build/C/man2/semop.2:540 -#, fuzzy, no-wrap -#| msgid "" -#| " sops[1].sem_num = 0; /* Operate on semaphore 0 */\n" -#| " sops[1].sem_op = 1; /* Increment value by one */\n" -#| " sops[1].sem_flg = 0;\n" +#, no-wrap msgid "" "sops[1].sem_num = 0; /* Operate on semaphore 0 */\n" "sops[1].sem_op = 1; /* Increment value by one */\n" "sops[1].sem_flg = 0;\n" msgstr "" -" sops[1].sem_num = 0; /* Agir sur le semaphore 0 */\n" -" sops[1].sem_op = 1; /* Incrémenter la valeur de un */\n" -" sops[1].sem_flg = 0;\n" +"sops[1].sem_num = 0; /* Agir sur le sémaphore 0 */\n" +"sops[1].sem_op = 1; /* Incrémenter la valeur de un */\n" +"sops[1].sem_flg = 0;\n" #. type: Plain text #: build/C/man2/semop.2:545 -#, fuzzy, no-wrap -#| msgid "" -#| " if (semop(semid, sops, 2) == -1) {\n" -#| " perror(\"semop\");\n" -#| " exit(EXIT_FAILURE);\n" -#| " }\n" +#, no-wrap msgid "" "if (semop(semid, sops, 2) == -1) {\n" " perror(\"semop\");\n" " exit(EXIT_FAILURE);\n" "}\n" msgstr "" -" if (semop(semid, sops, 2) == -1) {\n" -" perror(\"semop\");\n" -" exit(EXIT_FAILURE);\n" -" }\n" +"if (semop(semid, sops, 2) == -1) {\n" +" perror(\"semop\");\n" +" exit(EXIT_FAILURE);\n" +"}\n" #. type: Plain text #: build/C/man2/semop.2:556
Attachment:
signature.asc
Description: OpenPGP digital signature