diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /templates/man2/signalfd.2.pot | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | templates/man2/signalfd.2.pot | 961 |
1 files changed, 961 insertions, 0 deletions
diff --git a/templates/man2/signalfd.2.pot b/templates/man2/signalfd.2.pot new file mode 100644 index 00000000..d76b68a7 --- /dev/null +++ b/templates/man2/signalfd.2.pot @@ -0,0 +1,961 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 17:08+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "signalfd" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "signalfd - create a file descriptor for accepting signals" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. 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<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +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<#include E<lt>sys/signalfd.hE<gt>>\n" +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<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<signalfd>() creates a file descriptor that can be used to accept signals " +"targeted at the caller. This provides an alternative to the use of a signal " +"handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor " +"may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<mask> argument specifies the set of signals that the caller wishes to " +"accept via the file descriptor. This argument is a signal set whose " +"contents can be initialized using the macros described in B<sigsetops>(3). " +"Normally, the set of signals to be received via the file descriptor should " +"be blocked using B<sigprocmask>(2), to prevent the signals being handled " +"according to their default dispositions. It is not possible to receive " +"B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these " +"signals are silently ignored if specified in I<mask>." +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<fd> argument is -1, then the call creates a new file descriptor and " +"associates the signal set specified in I<mask> with that file descriptor. " +"If I<fd> is not -1, then it must specify a valid existing signalfd file " +"descriptor, and I<mask> is used to replace the signal set associated with " +"that file descriptor." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Starting with Linux 2.6.27, the following values may be bitwise ORed in " +"I<flags> to change the behavior of B<signalfd>():" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SFD_NONBLOCK>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the B<O_NONBLOCK> file status flag on the open file description (see " +"B<open>(2)) referred to by the new file descriptor. Using this flag saves " +"extra calls to B<fcntl>(2) to achieve the same result." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<SFD_CLOEXEC>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set the close-on-exec (B<FD_CLOEXEC>) flag on the new file descriptor. See " +"the description of the B<O_CLOEXEC> flag in B<open>(2) for reasons why this " +"may be useful." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Up to Linux 2.6.26, the I<flags> argument is unused, and must be specified " +"as zero." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<signalfd>() returns a file descriptor that supports the following " +"operations:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<read>(2)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If one or more of the signals specified in I<mask> is pending for the " +"process, then the buffer supplied to B<read>(2) is used to return one or " +"more I<signalfd_siginfo> structures (see below) that describe the signals. " +"The B<read>(2) returns information for as many signals as are pending and " +"will fit in the supplied buffer. The buffer must be at least " +"I<sizeof(struct signalfd_siginfo)> bytes. The return value of the " +"B<read>(2) is the total number of bytes read." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"As a consequence of the B<read>(2), the signals are consumed, so that they " +"are no longer pending for the process (i.e., will not be caught by signal " +"handlers, and cannot be accepted using B<sigwaitinfo>(2))." +msgstr "" + +#. 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 signals in I<mask> is pending for the process, then the " +"B<read>(2) either blocks until one of the signals in I<mask> is generated " +"for the process, or fails with the error B<EAGAIN> if the file descriptor " +"has been made nonblocking." +msgstr "" + +#. type: TP +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<poll>(2)" +msgstr "" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "B<select>(2)" +msgstr "" + +#. type: TQ +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "(and similar)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file descriptor is readable (the B<select>(2) I<readfds> argument; the " +"B<poll>(2) B<POLLIN> flag) if one or more of the signals in I<mask> is " +"pending for the process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The signalfd file descriptor also supports the other file-descriptor " +"multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<close>(2)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When the file descriptor is no longer required it should be closed. When " +"all file descriptors associated with the same signalfd object have been " +"closed, the resources for object are freed by the kernel." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "The signalfd_siginfo structure" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s " +"from a signalfd file descriptor is as follows:" +msgstr "" + +#. ssi_trapno is unused on most arches +#. ssi_addr_lsb: commit b8aeec34175fc8fe8b0d40efea4846dfc1ba663e +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct signalfd_siginfo {\n" +" uint32_t ssi_signo; /* Signal number */\n" +" int32_t ssi_errno; /* Error number (unused) */\n" +" int32_t ssi_code; /* Signal code */\n" +" uint32_t ssi_pid; /* PID of sender */\n" +" uint32_t ssi_uid; /* Real UID of sender */\n" +" int32_t ssi_fd; /* File descriptor (SIGIO) */\n" +" uint32_t ssi_tid; /* Kernel timer ID (POSIX timers)\n" +" uint32_t ssi_band; /* Band event (SIGIO) */\n" +" uint32_t ssi_overrun; /* POSIX timer overrun count */\n" +" uint32_t ssi_trapno; /* Trap number that caused signal */\n" +" int32_t ssi_status; /* Exit status or signal (SIGCHLD) */\n" +" int32_t ssi_int; /* Integer sent by sigqueue(3) */\n" +" uint64_t ssi_ptr; /* Pointer sent by sigqueue(3) */\n" +" uint64_t ssi_utime; /* User CPU time consumed (SIGCHLD) */\n" +" uint64_t ssi_stime; /* System CPU time consumed\n" +" (SIGCHLD) */\n" +" uint64_t ssi_addr; /* Address that generated signal\n" +" (for hardware-generated signals) */\n" +" uint16_t ssi_addr_lsb; /* Least significant bit of address\n" +" (SIGBUS; since Linux 2.6.37) */\n" +" uint8_t pad[I<X>]; /* Pad size to 128 bytes (allow for\n" +" additional fields in the future) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Each of the fields in this structure is analogous to the similarly named " +"field in the I<siginfo_t> structure. The I<siginfo_t> structure is " +"described in B<sigaction>(2). Not all fields in the returned " +"I<signalfd_siginfo> structure will be valid for a specific signal; the set " +"of valid fields can be determined from the value returned in the I<ssi_code> " +"field. This field is the analog of the I<siginfo_t> I<si_code> field; see " +"B<sigaction>(2) for details." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "fork(2) semantics" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"After a B<fork>(2), the child inherits a copy of the signalfd file " +"descriptor. A B<read>(2) from the file descriptor in the child will return " +"information about signals queued to the child." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Semantics of file descriptor passing" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"As with other file descriptors, signalfd file descriptors can be passed to " +"another process via a UNIX domain socket (see B<unix>(7)). In the receiving " +"process, a B<read>(2) from the received file descriptor will return " +"information about signals queued to that process." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve(2) semantics" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Just like any other file descriptor, a signalfd file descriptor remains open " +"across an B<execve>(2), unless it has been marked for close-on-exec (see " +"B<fcntl>(2)). Any signals that were available for reading before the " +"B<execve>(2) remain available to the newly loaded program. (This is " +"analogous to traditional signal semantics, where a blocked signal that is " +"pending remains pending across an B<execve>(2).)" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Thread semantics" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The semantics of signalfd file descriptors in a multithreaded program mirror " +"the standard semantics for signals. In other words, when a thread reads " +"from a signalfd file descriptor, it will read the signals that are directed " +"to the thread itself and the signals that are directed to the process (i.e., " +"the entire thread group). (A thread will not be able to read signals that " +"are directed to other threads in the process.)" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "epoll(7) semantics" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If a process adds (via B<epoll_ctl>(2)) a signalfd file descriptor to an " +"B<epoll>(7) instance, then B<epoll_wait>(2) returns events only for " +"signals sent to that process. In particular, if the process then uses " +"B<fork>(2) to create a child process, then the child will be able to " +"B<read>(2) signals that are sent to it using the signalfd file descriptor, " +"but B<epoll_wait>(2) will B<not> indicate that the signalfd file descriptor " +"is ready. In this scenario, a possible workaround is that after the " +"B<fork>(2), the child process can close the signalfd file descriptor that it " +"inherited from the parent process and then create another signalfd file " +"descriptor and add it to the epoll instance. Alternatively, the parent and " +"the child could delay creating their (separate) signalfd file descriptors " +"and adding them to the epoll instance until after the call to B<fork>(2)." +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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success, B<signalfd>() returns a signalfd file descriptor; this is " +"either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a " +"valid signalfd file descriptor. On error, -1 is returned and I<errno> is " +"set to indicate the error." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBADF>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<fd> file descriptor is not a valid file descriptor." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +#. or, the +#. .I sizemask +#. argument is not equal to +#. .IR sizeof(sigset_t) ; +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<fd> is not a valid signalfd file descriptor." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EMFILE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The per-process limit on the number of open file descriptors has been " +"reached." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENODEV>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Could not mount (internal) anonymous inode device." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There was insufficient memory to create a new signalfd file descriptor." +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 "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The underlying Linux system call requires an additional argument, I<size_t " +"sizemask>, which specifies the size of the I<mask> argument. The glibc " +"B<signalfd>() wrapper function does not include this argument, since it " +"provides the required value for the underlying system call." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"There are two underlying Linux system calls: B<signalfd>() and the more " +"recent B<signalfd4>(). The former system call does not implement a I<flags> " +"argument. The latter system call implements the I<flags> values described " +"above. Starting with glibc 2.9, the B<signalfd>() wrapper function will " +"use B<signalfd4>() where it is available." +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 "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<signalfd>()" +msgstr "" + +#. signalfd() is in glibc 2.7, but reportedly does not build +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux 2.6.22, glibc 2.8." +msgstr "" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<signalfd4>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux 2.6.27." +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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A process can create multiple signalfd file descriptors. This makes it " +"possible to accept different signals on different file descriptors. (This " +"may be useful if monitoring the file descriptors using B<select>(2), " +"B<poll>(2), or B<epoll>(7): the arrival of different signals will make " +"different file descriptors ready.) If a signal appears in the I<mask> of " +"more than one of the file descriptors, then occurrences of that signal can " +"be read (once) from any one of the file descriptors." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Attempts to include B<SIGKILL> and B<SIGSTOP> in I<mask> are silently " +"ignored." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The signal mask employed by a signalfd file descriptor can be viewed via the " +"entry for the corresponding file descriptor in the process's I</proc/>pidI</" +"fdinfo> directory. See B<proc>(5) for further details." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Limitations" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The signalfd mechanism can't be used to receive signals that are " +"synchronously generated, such as the B<SIGSEGV> signal that results from " +"accessing an invalid memory address or the B<SIGFPE> signal that results " +"from an arithmetic error. Such signals can be caught only via signal " +"handler." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"As described above, in normal usage one blocks the signals that will be " +"accepted via B<signalfd>(). If spawning a child process to execute a helper " +"program (that does not need the signalfd file descriptor), then, after the " +"call to B<fork>(2), you will normally want to unblock those signals before " +"calling B<execve>(2), so that the helper program can see any signals that it " +"expects to see. Be aware, however, that this won't be possible in the case " +"of a helper program spawned behind the scenes by any library function that " +"the program may call. In such cases, one must fall back to using a " +"traditional signal handler that writes to a file descriptor monitored by " +"B<select>(2), B<poll>(2), or B<epoll>(7)." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "" + +#. The fix also was put into Linux 2.6.24.5 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not filled in " +"with the data accompanying a signal sent by B<sigqueue>(3)." +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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a " +"signalfd file descriptor. The program terminates after accepting a " +"B<SIGQUIT> signal. The following shell session demonstrates the use of the " +"program:" +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< ./signalfd_demo>\n" +"B<\\[ha]C> # Control-C generates SIGINT\n" +"Got SIGINT\n" +"B<\\[ha]C>\n" +"Got SIGINT\n" +"B<\\[ha]\\e> # Control-\\e generates SIGQUIT\n" +"Got SIGQUIT\n" +"$\n" +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 "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>signal.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/signalfd.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"int\n" +"main(void)\n" +"{\n" +" int sfd;\n" +" ssize_t s;\n" +" sigset_t mask;\n" +" struct signalfd_siginfo fdsi;\n" +"\\&\n" +" sigemptyset(&mask);\n" +" sigaddset(&mask, SIGINT);\n" +" sigaddset(&mask, SIGQUIT);\n" +"\\&\n" +" /* Block signals so that they aren\\[aq]t handled\n" +" according to their default dispositions. */\n" +"\\&\n" +" if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n" +" err(EXIT_FAILURE, \"sigprocmask\");\n" +"\\&\n" +" sfd = signalfd(-1, &mask, 0);\n" +" if (sfd == -1)\n" +" err(EXIT_FAILURE, \"signalfd\");\n" +"\\&\n" +" for (;;) {\n" +" s = read(sfd, &fdsi, sizeof(fdsi));\n" +" if (s != sizeof(fdsi))\n" +" err(EXIT_FAILURE, \"read\");\n" +"\\&\n" +" if (fdsi.ssi_signo == SIGINT) {\n" +" printf(\"Got SIGINT\\en\");\n" +" } else if (fdsi.ssi_signo == SIGQUIT) {\n" +" printf(\"Got SIGQUIT\\en\");\n" +" exit(EXIT_SUCCESS);\n" +" } else {\n" +" printf(\"Read unexpected signal\\en\");\n" +" }\n" +" }\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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), " +"B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), " +"B<sigwait>(3), B<epoll>(7), B<signal>(7)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: TP +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<poll>(2), B<select>(2) (and similar)" +msgstr "" + +#. signalfd() is in glibc 2.7, but reportedly does not build +#. type: Plain text +#: debian-bookworm +msgid "" +"B<signalfd>() is available since Linux 2.6.22. Working support is provided " +"since glibc 2.8. The B<signalfd4>() system call (see NOTES) is available " +"since Linux 2.6.27." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "B<signalfd>() and B<signalfd4>() are Linux-specific." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>signal.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/signalfd.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(void)\n" +"{\n" +" int sfd;\n" +" ssize_t s;\n" +" sigset_t mask;\n" +" struct signalfd_siginfo fdsi;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" sigemptyset(&mask);\n" +" sigaddset(&mask, SIGINT);\n" +" sigaddset(&mask, SIGQUIT);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* Block signals so that they aren\\[aq]t handled\n" +" according to their default dispositions. */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n" +" err(EXIT_FAILURE, \"sigprocmask\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" sfd = signalfd(-1, &mask, 0);\n" +" if (sfd == -1)\n" +" err(EXIT_FAILURE, \"signalfd\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" for (;;) {\n" +" s = read(sfd, &fdsi, sizeof(fdsi));\n" +" if (s != sizeof(fdsi))\n" +" err(EXIT_FAILURE, \"read\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (fdsi.ssi_signo == SIGINT) {\n" +" printf(\"Got SIGINT\\en\");\n" +" } else if (fdsi.ssi_signo == SIGQUIT) {\n" +" printf(\"Got SIGQUIT\\en\");\n" +" exit(EXIT_SUCCESS);\n" +" } else {\n" +" printf(\"Read unexpected signal\\en\");\n" +" }\n" +" }\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |