# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999,2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006. # Denis Barbier , 2006,2010. # David Prévot , 2010-2014. # Jean-Philippe MENGUAL , 2021-2024. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.21.0\n" "POT-Creation-Date: 2024-03-01 17:04+0100\n" "PO-Revision-Date: 2024-06-14 00:15+0100\n" "Last-Translator: Jean-Philippe MENGUAL \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Lokalize 22.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "poll" msgstr "poll" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "poll, ppoll - wait for some event on a file descriptor" msgstr "" "poll, ppoll - Attendre un événement concernant un descripteur de fichier" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHÈQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Bibliothèque C standard (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B<#include Epoll.hE>\n" msgstr "B<#include Epoll.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BIB<, nfds_t >IB<, int >IB<);>\n" msgstr "BIB<, nfds_t >IB<, int >IB<);>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Epoll.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* Consultez feature_test_macros(7) */\n" "B<#include Epoll.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "BIB<, nfds_t >IB<,>\n" "B< const struct timespec *_Nullable >IB<,>\n" "B< const sigset_t *_Nullable >IB<);>\n" msgstr "" "BIB<, nfds_t >IB<,>\n" "B< const struct timespec *_Nullable >IB<,>\n" "B< const sigset_t *_Nullable >IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B() performs a similar task to B(2)\\ : il attend que l'un des " "descripteurs de fichier soit prêt pour des entrées et sorties. L'API de " "B(7) spécifique à Linux fait la même chose, mais avec des " "fonctionnalités allant au-delà de celles de B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The set of file descriptors to be monitored is specified in the I " "argument, which is an array of structures of the following form:" msgstr "" "L'ensemble de descripteurs de fichier à surveiller est indiqué dans " "l'argument I qui est un tableau de structures de la forme suivante\\ :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "struct pollfd {\n" " int fd; /* file descriptor */\n" " short events; /* requested events */\n" " short revents; /* returned events */\n" "};\n" msgstr "" "struct pollfd {\n" " int fd; /* Descripteur de fichier */\n" " short events; /* Événements attendus */\n" " short revents; /* Événements détectés */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The caller should specify the number of items in the I array in I." msgstr "" "L'appelant doit spécifier le nombre d'éléments du tableau I dans " "I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The field I contains a file descriptor for an open file. If this field " "is negative, then the corresponding I field is ignored and the " "I field returns zero. (This provides an easy way of ignoring a " "file descriptor for a single B() call: simply set the I field to " "its bitwise complement.)" msgstr "" "Le champ I contient un descripteur de fichier pour un fichier ouvert. Si " "ce champ est négatif, alors le champ I correspondant est ignoré et " "le champ I renvoie zéro (cela permet d'ignorer facilement un " "descripteur de fichier pour un seul appel B() : il suffit de définir " "le champ I à son complément bit à bit)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The field I is an input parameter, a bit mask specifying the events " "the application is interested in for the file descriptor I. This field " "may be specified as zero, in which case the only events that can be returned " "in I are B, B, and B (see below)." msgstr "" "Le champ I est un paramètre d'entrée, un masque de bits indiquant " "les événements qui intéressent l'application pour le descripteur de fichier " "I. Ce champ peut être nul, auquel cas les seuls événements qui peuvent " "être renvoyés dans I sont B, B et B " "(voir ci-dessous)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The field I is an output parameter, filled by the kernel with the " "events that actually occurred. The bits returned in I can include " "any of those specified in I, or one of the values B, " "B, or B. (These three bits are meaningless in the " "I field, and will be set in the I field whenever the " "corresponding condition is true.)" msgstr "" "Le champ I est un paramètre de sortie, rempli par le noyau avec les " "événements qui se sont effectivement produits, d'un des types demandés par " "I ou de l'une des valeurs B, B ou B. " "(Ces trois bits n'ont pas de signification dans la demande I et se " "trouvent positionnés dans la valeur de retour I si l'une des " "conditions correspondantes se produit.)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If none of the events requested (and no error) has occurred for any of the " "file descriptors, then B() blocks until one of the events occurs." msgstr "" "Si aucun événement attendu (ni aucune erreur) ne s'est déjà produit, " "B() bloque jusqu'à ce que l'un des événements se produise." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument specifies the number of milliseconds that B() " "should block waiting for a file descriptor to become ready. The call will " "block until either:" msgstr "" "L'argument I définit le temps en milliseconde pendant lequel " "B() devrait bloquer en attendant que le descripteur de fichier soit " "prêt. L’appel bloquera jusqu’au premier événement suivant :" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "\\[bu]" msgstr "-" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "a file descriptor becomes ready;" msgstr "un descripteur de fichier devient prêt ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "the call is interrupted by a signal handler; or" msgstr "l’appel est interrompu par un gestionnaire de signal ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "the timeout expires." msgstr "le délai expire." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed msgid "" "Being \"ready\" means that the requested operation will not block; thus, " "B()ing regular files, block devices, and other files with no " "reasonable polling semantic I returns instantly as ready to read and " "write." msgstr "" "Être « prêt » signifie que l'opération requise ne sera pas bloquée ; donc, " "l'exécution de B() sur des fichiers ordinaires, des périphériques bloc " "et d'autres fichiers sans sémantique de scrutation correcte rend la main " "I instantanément comme prêt à lire et à écrire." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that the I interval will be rounded up to the system clock " "granularity, and kernel scheduling delays mean that the blocking interval " "may overrun by a small amount. Specifying a negative value in I " "means an infinite timeout. Specifying a I of zero causes " "B() to return immediately, even if no file descriptors are ready." msgstr "" "Remarquez que l’intervalle I sera arrondi à la granularité de " "l'horloge système et que les délais d'ordonnancement du noyau signifient que " "l'intervalle de blocage pourrait être dépassé d'une petite quantité. Une " "valeur négative de I signifie un délai infini, alors qu'un " "I nul force B() à se terminer immédiatement, même si aucun " "descripteur de fichier n'est prêt." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The bits that may be set/returned in I and I are defined in " "Ipoll.hE>:" msgstr "" "Les bits qui peuvent être activés ou renvoyés dans I et I " "sont définis par Ipoll.hE>\\ :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "There is data to read." msgstr "Il y a des données en attente de lecture." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "There is some exceptional condition on the file descriptor. Possibilities " "include:" msgstr "" "Il existe une condition d'exception sur le descripteur de fichier. Parmi " "celles possibles :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "There is out-of-band data on a TCP socket (see B(7))." msgstr "Des données dépassent sur un socket TCP (voir B(7))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "A pseudoterminal master in packet mode has seen a state change on the slave " "(see B(2))." msgstr "" "Un pseudoterminal maître en mode paquet a vu un changement d'état sur " "l'esclave (voir B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A I file has been modified (see B(7))." msgstr "Un fichier I a été modifié (voir B(7))." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Writing is now possible, though a write larger than the available space in a " "socket or pipe will still block (unless B is set)." msgstr "" "L'écriture est maintenant possible, mais une écriture plus grande que " "l'espace disponible sur un socket ou un tube bloquera encore (sauf si " "B est positionné)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 2.6.17)" msgstr "B (depuis Linux 2.6.17)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Stream socket peer closed connection, or shut down writing half of " "connection. The B<_GNU_SOURCE> feature test macro must be defined (before " "including I header files) in order to obtain this definition." msgstr "" "Le correspondant sur un socket en mode flux a fermé la connexion ou bien a " "terminé la partie écriture de la connexion. La macro de test de " "fonctionnalité B<_GNU_SOURCE> doit être définie (avant d'inclure I " "fichier d'en\\(hytête) pour obtenir cette définition." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Error condition (only returned in I; ignored in I). This " "bit is also set for a file descriptor referring to the write end of a pipe " "when the read end has been closed." msgstr "" "Condition d'erreur (renvoyée seulement dans I ; ignorée dans " "I). Ce bit est aussi positionné pour un descripteur de fichier qui " "se rapporte à une fin d'écriture sur un tube lorsque la fin de lecture a été " "fermée." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Hang up (only returned in I; ignored in I). Note that when " "reading from a channel such as a pipe or a stream socket, this event merely " "indicates that the peer closed its end of the channel. Subsequent reads " "from the channel will return 0 (end of file) only after all outstanding " "data in the channel has been consumed." msgstr "" "Plantage (renvoyé seulement dans I ; ignoré dans I). " "Remarquez qu'en lecture à partir d'un canal tel qu'un tube ou un socket de " "flux, cet événement indique simplement que le pair a fermé la fin de son " "canal. Les lectures suivantes à partir du canal ne renverront B<0> (fin de " "fichier) qu'après que toutes les données du canal aient été consommées." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Invalid request: I not open (only returned in I; ignored in " "I)." msgstr "" "Requête non valable\\ : I n'est pas ouvert (renvoyé seulement dans " "I ; ignoré dans I)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "When compiling with B<_XOPEN_SOURCE> defined, one also has the following, " "which convey no further information beyond the bits listed above:" msgstr "" "Lorsque B<_XOPEN_SOURCE> est défini à la compilation, les macros suivantes " "sont également définies (mais n'apportent pas d'informations supplémentaires " "par rapport aux bits listés ci\\(hydessus\\ :" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Equivalent to B." msgstr "Équivalent à B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. POLLRDBAND is used in the DECnet protocol. #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Priority band data can be read (generally unused on Linux)." msgstr "" "Des données prioritaires sont en attente de lecture (généralement inutilisé " "sous Linux)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Equivalent to B." msgstr "Équivalent à B." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Priority data may be written." msgstr "Des données prioritaires peuvent être écrites." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux also knows about, but does not use B." msgstr "Linux connaît aussi B, mais ne l'utilise pas." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ppoll()" msgstr "ppoll()" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The relationship between B() and B() is analogous to the " "relationship between B(2) et B(2)\\ : comme B(2), B() permet à " "une application d'attendre de façon sûre que soit un descripteur de fichier " "soit prêt, soit un signal soit reçu." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Other than the difference in the precision of the I argument, the " "following B() call:" msgstr "" "Mise à part la différence de précision de l'argument I, l'appel " "B() suivant\\ :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ready = ppoll(&fds, nfds, tmo_p, &sigmask);\n" msgstr "ready = ppoll(&fds, nfds, tmo_p, &sigmask);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "is nearly equivalent to I executing the following calls:" msgstr "" "est presque équivalent à exécuter de façon I les appels suivants :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "sigset_t origmask;\n" "int timeout;\n" "\\&\n" "timeout = (tmo_p == NULL) ? -1 :\n" " (tmo_p-Etv_sec * 1000 + tmo_p-Etv_nsec / 1000000);\n" "pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n" "ready = poll(&fds, nfds, timeout);\n" "pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n" msgstr "" "sigset_t origmask;\n" "int timeout;\n" "\\&\n" "timeout = (tmo_p == NULL) ? -1 :\n" " (tmo_p-Etv_sec * 1000 + tmo_p-Etv_nsec / 1000000);\n" "pthread_sigmask(SIG_SETMASK, &sigmask, &origmask);\n" "ready = poll(&fds, nfds, timeout);\n" "pthread_sigmask(SIG_SETMASK, &origmask, NULL);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The above code segment is described as I equivalent because whereas " "a negative I value for B() is interpreted as an infinite " "timeout, a negative value expressed in I<*tmo_p> results in an error from " "B()." msgstr "" "Le bout de code ci-dessus est décrit comme I équivalent parce " "qu’une valeur négative dans I<*tmo_p> donne une erreur de B(), tandis " "qu’une valeur négative de I pour B() est interprétée comme un " "délai infini." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "See the description of B(2) for an explanation of why B() " "is necessary." msgstr "" "Consultez la description de B(2) pour une explication de la " "nécessité de B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If the I argument is specified as NULL, then no signal mask " "manipulation is performed (and thus B() differs from B() only " "in the precision of the I argument)." msgstr "" "Si le paramètre I est défini comme NULL, aucune manipulation de " "masque de signaux n'est effectuée (et ainsi B() ne diffère de " "B() que dans la précision du paramètre I)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I argument specifies an upper limit on the amount of time that " "B() will block. This argument is a pointer to a B(3) " "structure." msgstr "" "L'argument I définit une limite supérieure sur le temps pendant " "lequel B() bloquera. Cet argument est un pointeur vers une structure " "B(3) :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "If I is specified as NULL, then B() can block indefinitely." msgstr "Si I est NULL, B() pourra bloquer indéfiniment." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "VALEUR RENVOYÉE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On success, B() returns a nonnegative value which is the number of " "elements in the I whose I fields have been set to a " "nonzero value (indicating an event or an error). A return value of zero " "indicates that the system call timed out before any file descriptors became " "ready." msgstr "" "En cas de succès, B() renvoie une valeur non négative qui est un " "nombre d'éléments dans I dont les champs I ont été " "positionnés sur une valeur autre que zéro (indiquant un événement ou une " "erreur). Un code de retour de zéro indique que l'appel système a atteint son " "délai avant qu'un descripteur de fichier ne soit prêt." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "On error, -1 is returned, and I is set to indicate the error." msgstr "" "En cas d'erreur, la valeur de retour est B<-1> et I est définie pour " "préciser l'erreur." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERREURS" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I points outside the process's accessible address space. The array " "given as argument was not contained in the calling program's address space." msgstr "" "I pointe hors de l'espace d'adressage accessible. Le tableau donné en " "argument ne se trouvait pas dans l'espace d'adressage du programme appelant." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A signal occurred before any requested event; see B(7)." msgstr "" "Un signal a été reçu avant qu'un événement intéressant ne se produise ; voir " "B(7)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I value exceeds the B value." msgstr "La valeur I dépasse la valeur B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(B()) The timeout value expressed in I<*tmo_p> is invalid (negative)." msgstr "" "(B()) La valeur du délai exprimée dans I<*tmo_p> n'est pas valable " "(négative)." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Unable to allocate memory for kernel data structures." msgstr "" "Impossible d'allouer de la mémoire pour des structures de données du noyau." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. Darwin, according to a report by Jeremy Sequoia, relayed by Josh Triplett #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On some other UNIX systems, B() can fail with the error B if " "the system fails to allocate kernel-internal resources, rather than " "B as Linux does. POSIX permits this behavior. Portable programs " "may wish to check for B and loop, just as with B." msgstr "" "Sur d'autres systèmes UNIX, B() peut échouer avec l'erreur B " "si le système n'arrive pas à allouer des ressources internes au noyau, et " "non avec B comme sur Linux. POSIX autorise ce comportement. Les " "programmes portables peuvent vouloir vérifier B et tourner en " "boucle, comme avec B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Some implementations define the nonstandard constant B with the " "value -1 for use as a I for B(). This constant is not " "provided in glibc." msgstr "" "Certaines implémentations définissent la constante symbolique non standard " "B de valeur B<-1>, à utiliser comme I pour B(). Cette " "constante n'est pas fournie par la glibc." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "C library/kernel differences" msgstr "Différences entre bibliothèque C et noyau" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The Linux B() system call modifies its I argument. However, " "the glibc wrapper function hides this behavior by using a local variable for " "the timeout argument that is passed to the system call. Thus, the glibc " "B() function does not modify its I argument." msgstr "" "L'appel système B() sous Linux modifie son argument I. " "Cependant, l'enveloppe fournie par la glibc cache ce comportement en " "utilisant une variable locale pour le délai qui est fournie à l'appel " "système. Ainsi, la fonction B() de la glibc ne modifie donc pas son " "argument I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The raw B() system call has a fifth argument, I, " "which specifies the size in bytes of the I argument. The glibc " "B() wrapper function specifies this argument as a fixed value (equal " "to I). See B(2) for a discussion on " "the differences between the kernel and the libc notion of the sigset." msgstr "" "L'appel système B() brut a un cinquième paramètre, I, qui indique la taille en octets du paramètre I. La " "fonction enveloppe B() de la glibc indique ce paramètre comme une " "valeur fixe (égale à I). Voir B(2) " "pour un point sur les différences entre l'approche du noyau et de la libc de " "sigset." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2008." msgstr "POSIX.1-2008." #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. FIXME . #. ppoll() is proposed for inclusion in POSIX: #. https://www.austingroupbugs.net/view.php?id=1263 #. NetBSD 3.0 has a pollts() which is like Linux ppoll(). #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux." msgstr "Linux." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "POSIX.1-2001. Linux 2.1.23." msgstr "POSIX.1-2001, Linux 2.1.23." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On older kernels that lack this system call, the glibc B() wrapper " "function provides emulation using B(2)." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux 2.6.16, glibc 2.4." msgstr "Linux 2.6.16, glibc 2.4." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The operation of B() and B() is not affected by the " "B flag." msgstr "" "L'opération de B() et B() n'est pas concernée par l'attribut " "B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For a discussion of what may happen if a file descriptor being monitored by " "B() is closed in another thread, see B(2) pour une discussion sur ce qui pourrait arriver si un " "descripteur de fichier surveillé par B() est fermé dans un autre " "thread." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "BUGS" msgstr "BOGUES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "See the discussion of spurious readiness notifications under the BUGS " "section of B(2)." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The program below opens each of the files named in its command-line " "arguments and monitors the resulting file descriptors for readiness to read " "(B). The program loops, repeatedly using B() to monitor the " "file descriptors, printing the number of ready file descriptors on return. " "For each ready file descriptor, the program:" msgstr "" "Le programme ci-dessous ouvre chacun des fichiers nommés sur ses paramètres " "de la ligne de commande et surveille les descripteurs de fichier qui en " "résultent quand à leur possibilité d'être lus (B). Le programme " "effectue une boucle de B() pour surveiller les descripteurs de " "fichier, affichant en retour le nombre de descripteurs de fichier prêts. " "Pour chaque descripteur disponible, le programme :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "displays the returned I field in a human-readable form;" msgstr "" "affiche le champ I renvoyé sous une forme lisible par un humain ;" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "if the file descriptor is readable, reads some data from it, and displays " "that data on standard output; and" msgstr "" "si le descripteur de fichier est lisible, y lit des données et affiche ces " "données sur la sortie standard ; et" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "if the file descriptor was not readable, but some other event occurred " "(presumably B), closes the file descriptor." msgstr "" "si le descripteur de fichier n'était pas lisible, mais qu'un autre événement " "s'est produit (probablement B), ferme le descripteur de fichier." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Suppose we run the program in one terminal, asking it to open a FIFO:" msgstr "" "Supposons qu'on lance le programme dans un terminal, en lui demandant " "d'ouvrir un FIFO :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B\n" "$ B<./poll_input myfifo>\n" msgstr "" "$ B\n" "$ B<./poll_input monfifo>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In a second terminal window, we then open the FIFO for writing, write some " "data to it, and close the FIFO:" msgstr "" "Dans une deuxième fenêtre de terminal, on ouvre alors le FIFO en écriture, " "on y écrit des données et on ferme le FIFO :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "$ B myfifo>\n" msgstr "$ B monfifo>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In the terminal where we are running the program, we would then see:" msgstr "Dans le terminal où on exécute le programme, on verrait alors :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "Opened \"myfifo\" on fd 3\n" "About to poll()\n" "Ready: 1\n" " fd=3; events: POLLIN POLLHUP\n" " read 10 bytes: aaaaabbbbb\n" "About to poll()\n" "Ready: 1\n" " fd=3; events: POLLIN POLLHUP\n" " read 6 bytes: ccccc\n" "\\&\n" "About to poll()\n" "Ready: 1\n" " fd=3; events: POLLHUP\n" " closing fd 3\n" "All file descriptors closed; bye\n" msgstr "" "\"monfifo\" ouvert sur le fd 3\n" "Préparation pour poll()\n" "Prêt : 1\n" " fd=3; événements: POLLIN POLLHUP\n" " 10 octets lus : aaaaabbbbb\n" "Va poll()\n" "Prêt : 1\n" " fd=3 ; événements : POLLIN POLLHUP\n" " lecture de 6 octets : ccccc\n" "\\&\n" "Préparation pour poll()\n" "\n" "Prêt : 1\n" " fd=3; événements : POLLHUP\n" " fermeture de fd 3\n" "Tous les descripteurs de fichier sont fermés ; au revoir\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "In the above output, we see that B() returned three times:" msgstr "Dans la sortie ci-dessus, on voit que B() a renvoyé trois fois :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On the first return, the bits returned in the I field were " "B, indicating that the file descriptor is readable, and B, " "indicating that the other end of the FIFO has been closed. The program then " "consumed some of the available input." msgstr "" "Sur le premier retour, les bits renvoyés dans le champ I étaient " "B, indiquant que le descripteur de fichier est lisible, et " "B, indiquant que l'autre extrémité du FIFO a été fermée. Puis le " "programme a consommé une partie de l'entrée disponible." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The second return from B() also indicated B and B; " "the program then consumed the last of the available input." msgstr "" "Le deuxième retour de B() indiquait aussi B et B ; le " "programme a alors consommé la dernière partie de l’entrée disponible." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "On the final return, B() indicated only B on the FIFO, at " "which point the file descriptor was closed and the program terminated." msgstr "" "Sur le dernier retour, B() n'indiquait que B sur le FIFO, " "lemoment où le descripteur de fichier a été fermé et où le programme s'est " "terminé." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Source du programme" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* poll_input.c\n" "\\&\n" " Licensed under GNU General Public License v2 or later.\n" "*/\n" "#include Efcntl.hE\n" "#include Epoll.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int ready;\n" " char buf[10];\n" " nfds_t num_open_fds, nfds;\n" " ssize_t s;\n" " struct pollfd *pfds;\n" "\\&\n" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s file...\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " num_open_fds = nfds = argc - 1;\n" " pfds = calloc(nfds, sizeof(struct pollfd));\n" " if (pfds == NULL)\n" " errExit(\"malloc\");\n" "\\&\n" " /* Open each file on command line, and add it to \\[aq]pfds\\[aq] array. */\n" "\\&\n" " for (nfds_t j = 0; j E nfds; j++) {\n" " pfds[j].fd = open(argv[j + 1], O_RDONLY);\n" " if (pfds[j].fd == -1)\n" " errExit(\"open\");\n" "\\&\n" " printf(\"Opened \\e\"%s\\e\" on fd %d\\en\", argv[j + 1], pfds[j].fd);\n" "\\&\n" " pfds[j].events = POLLIN;\n" " }\n" "\\&\n" " /* Keep calling poll() as long as at least one file descriptor is\n" " open. */\n" "\\&\n" " while (num_open_fds E 0) {\n" " printf(\"About to poll()\\en\");\n" " ready = poll(pfds, nfds, -1);\n" " if (ready == -1)\n" " errExit(\"poll\");\n" "\\&\n" " printf(\"Ready: %d\\en\", ready);\n" "\\&\n" " /* Deal with array returned by poll(). */\n" "\\&\n" " for (nfds_t j = 0; j E nfds; j++) {\n" " if (pfds[j].revents != 0) {\n" " printf(\" fd=%d; events: %s%s%s\\en\", pfds[j].fd,\n" " (pfds[j].revents & POLLIN) ? \"POLLIN \" : \"\",\n" " (pfds[j].revents & POLLHUP) ? \"POLLHUP \" : \"\",\n" " (pfds[j].revents & POLLERR) ? \"POLLERR \" : \"\");\n" "\\&\n" " if (pfds[j].revents & POLLIN) {\n" " s = read(pfds[j].fd, buf, sizeof(buf));\n" " if (s == -1)\n" " errExit(\"read\");\n" " printf(\" read %zd bytes: %.*s\\en\",\n" " s, (int) s, buf);\n" " } else { /* POLLERR | POLLHUP */\n" " printf(\" closing fd %d\\en\", pfds[j].fd);\n" " if (close(pfds[j].fd) == -1)\n" " errExit(\"close\");\n" " num_open_fds--;\n" " }\n" " }\n" " }\n" " }\n" "\\&\n" " printf(\"All file descriptors closed; bye\\en\");\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "/* poll_input.c\n" "\\&\n" " Sous licence GNU General Public v2 ou postérieure.\n" "*/\n" "#include Efcntl.hE\n" "#include Epoll.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Eunistd.hE\n" "\\&\n" "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n" " } while (0)\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int ready;\n" " char buf[10];\n" " nfds_t num_open_fds, nfds;\n" " ssize_t s;\n" " struct pollfd *pfds;\n" "\\&\n" " if (argc E 2) {\n" " fprintf(stderr, \"Utilisation : %s file...\\en\", argv[0]);\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " num_open_fds = nfds = argc - 1;\n" " pfds = calloc(nfds, sizeof(struct pollfd));\n" " if (pfds == NULL)\n" " errExit(\"malloc\");\n" "\\&\n" " /* Ouvrir chaque fichier de la ligne de commande et l'ajouter au tableau\n" " \\[aq]pfds\\[aq]. */\n" "\\&\n" " for (nfds_t j = 0; j E nfds; j++) {\n" " pfds[j].fd = open(argv[j + 1], O_RDONLY);\n" " if (pfds[j].fd == -1)\n" " errExit(\"open\");\n" "\\&\n" " printf(\"\"\\e\"%s\\e\" ouvert sur le fd %d\\en\", argv[j + 1], pfds[j].fd);\n" "\\&\n" " pfds[j].events = POLLIN;\n" " }\n" "\\&\n" " /* Conserver poll() au moins aussi longtemps qu'un descripteur de fichier\n" " est ouvert. */\n" "\\&\n" " while (num_open_fds E 0) {\n" " printf(\"Préparation pour poll()\\en\");\n" " ready = poll(pfds, nfds, -1);\n" " if (ready == -1)\n" " errExit(\"poll\");\n" "\\&\n" " printf(\"Prêt: %d\\en\", ready);\n" "\\&\n" " /* Gérer le tableau renvoyé par poll(). */\n" "\\&\n" " for (nfds_t j = 0; j E nfds; j++) {\n" " if (pfds[j].revents != 0) {\n" " printf(\" fd=%d; événements : %s%s%s\\en\", pfds[j].fd,\n" " (pfds[j].revents & POLLIN) ? \"POLLIN \" : \"\",\n" " (pfds[j].revents & POLLHUP) ? \"POLLHUP \" : \"\",\n" " (pfds[j].revents & POLLERR) ? \"POLLERR \" : \"\");\n" "\\&\n" " if (pfds[j].revents & POLLIN) {\n" " s = read(pfds[j].fd, buf, sizeof(buf));\n" " if (s == -1)\n" " errExit(\"read\");\n" " printf(\" lecture de %zd octets : %.*s\\en\",\n" " s, (int) s, buf);\n" " } else { /* POLLERR | POLLHUP */\n" " printf(\" fermeture du fd %d\\en\", pfds[j].fd);\n" " if (close(pfds[j].fd) == -1)\n" " errExit(\"close\");\n" " num_open_fds--;\n" " }\n" " }\n" " }\n" " }\n" "\\&\n" " printf(\"Tous les descripteurs de fichier sont fermés ; au revoir\\en\");\n" " exit(EXIT_SUCCESS);\n" "}\n" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(2), B(2), B(2), B(3), " "B(7), B