# Spanish translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Juan Piernas , 1998. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 06:09+0200\n" "PO-Revision-Date: 2021-01-30 16:15+0100\n" "Last-Translator: Juan Piernas \n" "Language-Team: Spanish \n" "Language: es\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 20.04.1\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "ppoll()" msgid "poll" msgstr "ppoll()" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 Mayo 2024" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" msgstr "Páginas de Manual de Linux 6.8" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOMBRE" #. 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 - espera un evento en un descriptor de fichero" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTECA" #. 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 "Biblioteca Estándar C (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 "SINOPSIS" #. 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 #, fuzzy, no-wrap #| msgid "" #| "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" #| "B<#include Efcntl.hE>\n" msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Epoll.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* Vea feature_test_macros(7) */\n" "B<#include Efcntl.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "BIB<, nfds_t >IB<,>\n" #| "B< const struct timespec *>IB<, const sigset_t *>IB<);>\n" 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 *>IB<, const sigset_t *>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 "DESCRIPCIÓN" #. 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) and B(2): like B(2), " "B() allows an application to safely wait until either a file " "descriptor becomes ready or until a signal is caught." msgstr "" #. 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 "" #. 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 "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "" #| "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" 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 "" "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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "VALOR DEVUELTO" #. 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "On success, zero is returned. On error, -1 is returned, and I is " #| "set appropriately." msgid "On error, -1 is returned, and I is set to indicate the error." msgstr "" "En caso de éxito se devuelve cero. En caso de error se devuelve -1, y " "I se configura adecuadamente." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ERRORS" msgstr "ERRORES" #. 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 #, fuzzy #| msgid "" #| "The array given as argument was not contained in the calling program's " #| "address space." 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 "" "El vector pasado como argumento no está ubicado en el espacio de direcciones " "del programa invocador." #. 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 #, fuzzy #| msgid "A signal occurred before any requested event." msgid "A signal occurred before any requested event; see B(7)." msgstr "Se ha producido una señal antes de cualquier evento." #. 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 "" #. 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 "" #. 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 "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONES" #. 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 "" #. 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 "" #. 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 "Diferencias núcleo / biblioteca C" #. 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 "" #. 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 "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "ESTÁNDARES" #. type: TP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "B(2)" msgid "B()" msgstr "B(2)" #. 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 #, fuzzy, no-wrap #| msgid "B(2)" msgid "B()" msgstr "B(2)" #. 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 "HISTORIAL" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "POSIX.1-2001." msgid "POSIX.1-2001. Linux 2.1.23." msgstr "POSIX.1-2001." #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "The poll() systemcall was introduced in Linux 2.1.23. The poll() library " #| "call was introduced in libc 5.4.28 (and provides emulation using select " #| "if your kernel does not have a poll syscall)." msgid "" "On older kernels that lack this system call, the glibc B() wrapper " "function provides emulation using B si su núcleo no " "tiene dicha llamada al sistema)." #. 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 "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTAS" #. 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 "" #. 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)." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EJEMPLOS" #. 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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 myfifo>\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 "" #. 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 myfifo>\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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "" #. 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 "Código fuente" #. type: Plain text #: archlinux debian-unstable 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 Esys/types.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 "" #. 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 "VÉASE TAMBIÉN" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "" #| "B(2), B(2), B(2), B(3), " "B(7), B