#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages/man7/signal.7:46 #, no-wrap msgid "SIGNAL" msgstr "" #. type: TH #: man-pages/man7/signal.7:46 #, no-wrap msgid "2014-06-13" msgstr "" #. type: TH #: man-pages/man7/signal.7:46 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: man-pages/man7/signal.7:46 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: man-pages/man7/signal.7:47 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:49 msgid "signal - overview of signals" msgstr "" #. type: SH #: man-pages/man7/signal.7:49 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:52 msgid "" "Linux supports both POSIX reliable signals (hereinafter \"standard " "signals\") and POSIX real-time signals." msgstr "" #. type: SS #: man-pages/man7/signal.7:52 #, no-wrap msgid "Signal dispositions" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:57 msgid "" "Each signal has a current I, which determines how the process " "behaves when it is delivered the signal." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:60 msgid "" "The entries in the \"Action\" column of the tables below specify the default " "disposition for each signal, as follows:" msgstr "" #. type: IP #: man-pages/man7/signal.7:60 #, no-wrap msgid "Term" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:62 msgid "Default action is to terminate the process." msgstr "" #. type: IP #: man-pages/man7/signal.7:62 #, no-wrap msgid "Ign" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:64 msgid "Default action is to ignore the signal." msgstr "" #. type: IP #: man-pages/man7/signal.7:64 #, no-wrap msgid "Core" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:67 msgid "" "Default action is to terminate the process and dump core (see B(5))." msgstr "" #. type: IP #: man-pages/man7/signal.7:67 #, no-wrap msgid "Stop" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:69 msgid "Default action is to stop the process." msgstr "" #. type: IP #: man-pages/man7/signal.7:69 #, no-wrap msgid "Cont" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:71 msgid "Default action is to continue the process if it is currently stopped." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:93 msgid "" "A process can change the disposition of a signal using B(2) or " "B(2). (The latter is less portable when establishing a signal " "handler; see B(2) for details.) Using these system calls, a " "process can elect one of the following behaviors to occur on delivery of the " "signal: perform the default action; ignore the signal; or catch the signal " "with a I, a programmer-defined function that is " "automatically invoked when the signal is delivered. (By default, the signal " "handler is invoked on the normal process stack. It is possible to arrange " "that the signal handler uses an alternate stack; see B(2) for " "a discussion of how to do this and when it might be useful.)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:97 msgid "" "The signal disposition is a per-process attribute: in a multithreaded " "application, the disposition of a particular signal is the same for all " "threads." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:105 msgid "" "A child created via B(2) inherits a copy of its parent's signal " "dispositions. During an B(2), the dispositions of handled signals " "are reset to the default; the dispositions of ignored signals are left " "unchanged." msgstr "" #. type: SS #: man-pages/man7/signal.7:105 #, no-wrap msgid "Sending a signal" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:108 msgid "" "The following system calls and library functions allow the caller to send a " "signal:" msgstr "" #. type: TP #: man-pages/man7/signal.7:108 #, no-wrap msgid "B(3)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:111 msgid "Sends a signal to the calling thread." msgstr "" #. type: TP #: man-pages/man7/signal.7:111 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:116 msgid "" "Sends a signal to a specified process, to all members of a specified process " "group, or to all processes on the system." msgstr "" #. type: TP #: man-pages/man7/signal.7:116 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:119 msgid "Sends a signal to all of the members of a specified process group." msgstr "" #. type: TP #: man-pages/man7/signal.7:119 #, no-wrap msgid "B(3)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:123 msgid "" "Sends a signal to a specified POSIX thread in the same process as the caller." "" msgstr "" #. type: TP #: man-pages/man7/signal.7:123 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:128 msgid "" "Sends a signal to a specified thread within a specific process. (This is " "the system call used to implement B(3).)" msgstr "" #. type: TP #: man-pages/man7/signal.7:128 #, no-wrap msgid "B(3)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:131 msgid "" "Sends a real-time signal with accompanying data to a specified process." msgstr "" #. type: SS #: man-pages/man7/signal.7:131 #, no-wrap msgid "Waiting for a signal to be caught" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:135 msgid "" "The following system calls suspend execution of the calling process or " "thread until a signal is caught (or an unhandled signal terminates the " "process):" msgstr "" #. type: TP #: man-pages/man7/signal.7:135 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:138 msgid "Suspends execution until any signal is caught." msgstr "" #. type: TP #: man-pages/man7/signal.7:138 #, no-wrap msgid "B(2)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:142 msgid "" "Temporarily changes the signal mask (see below) and suspends execution until " "one of the unmasked signals is caught." msgstr "" #. type: SS #: man-pages/man7/signal.7:142 #, no-wrap msgid "Synchronously accepting a signal" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:149 msgid "" "Rather than asynchronously catching a signal via a signal handler, it is " "possible to synchronously accept the signal, that is, to block execution " "until the signal is delivered, at which point the kernel returns information " "about the signal to the caller. There are two general ways to do this:" msgstr "" #. type: IP #: man-pages/man7/signal.7:149 man-pages/man7/signal.7:157 man-pages/man7/signal.7:615 man-pages/man7/signal.7:617 man-pages/man7/signal.7:638 man-pages/man7/signal.7:653 man-pages/man7/signal.7:657 man-pages/man7/signal.7:664 man-pages/man7/signal.7:682 man-pages/man7/signal.7:688 man-pages/man7/signal.7:695 man-pages/man7/signal.7:700 man-pages/man7/signal.7:719 man-pages/man7/signal.7:733 man-pages/man7/signal.7:744 man-pages/man7/signal.7:751 man-pages/man7/signal.7:760 man-pages/man7/signal.7:768 man-pages/man7/signal.7:774 man-pages/man7/signal.7:779 man-pages/man7/signal.7:799 man-pages/man7/signal.7:813 man-pages/man7/signal.7:827 man-pages/man7/signal.7:830 man-pages/man7/signal.7:833 man-pages/man7/signal.7:836 man-pages/man7/signal.7:841 man-pages/man7/signal.7:847 man-pages/man7/signal.7:851 #, no-wrap msgid "*" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:157 msgid "" "B(2), B(2), and B(3) suspend execution " "until one of the signals in a specified set is delivered. Each of these " "calls returns information about the delivered signal." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:170 msgid "" "B(2) returns a file descriptor that can be used to read " "information about signals that are delivered to the caller. Each B(2) " " from this file descriptor blocks until one of the signals in the set " "specified in the B(2) call is delivered to the caller. The " "buffer returned by B(2) contains a structure describing the signal." msgstr "" #. type: SS #: man-pages/man7/signal.7:170 #, no-wrap msgid "Signal mask and pending signals" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:177 msgid "" "A signal may be I, which means that it will not be delivered until " "it is later unblocked. Between the time when it is generated and when it is " "delivered a signal is said to be I." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:186 msgid "" "Each thread in a process has an independent I, which indicates " "the set of signals that the thread is currently blocking. A thread can " "manipulate its signal mask using B(3). In a traditional " "single-threaded application, B(2) can be used to manipulate " "the signal mask." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:192 msgid "" "A child created via B(2) inherits a copy of its parent's signal mask; " "the signal mask is preserved across B(2)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:209 msgid "" "A signal may be generated (and thus pending) for a process as a whole (e.g." ", when sent using B(2)) or for a specific thread (e.g., certain " "signals, such as B and B, generated as a consequence of " "executing a specific machine-language instruction are thread directed, as " "are signals targeted at a specific thread using B(3)). A " "process-directed signal may be delivered to any one of the threads that does " "not currently have the signal blocked. If more than one of the threads has " "the signal unblocked, then the kernel chooses an arbitrary thread to which " "to deliver the signal." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:216 msgid "" "A thread can obtain the set of signals that it currently has pending using " "B(2). This set will consist of the union of the set of pending " "process-directed signals and the set of signals pending for the calling " "thread." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:222 msgid "" "A child created via B(2) initially has an empty pending signal set; " "the pending signal set is preserved across an B(2)." msgstr "" #. type: SS #: man-pages/man7/signal.7:222 #, no-wrap msgid "Standard signals" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:234 msgid "" "Linux supports the standard signals listed below. Several signal numbers " "are architecture-dependent, as indicated in the \"Value\" column. (Where " "three values are given, the first one is usually valid for alpha and sparc, " "the middle one for x86, arm, and most other architectures, and the last one " "for mips. (Values for parisc are I shown; see the Linux kernel source " "for signal numbering on that architecture.) A - denotes that a signal is " "absent on the corresponding architecture.)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:236 msgid "First the signals described in the original POSIX.1-1990 standard." msgstr "" #. type: tbl table #: man-pages/man7/signal.7:240 man-pages/man7/signal.7:276 man-pages/man7/signal.7:305 #, no-wrap msgid "Signal Value Action Comment\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:241 #, no-wrap msgid "SIGHUP \\01 Term Hangup detected on controlling terminal\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:242 #, no-wrap msgid " or death of controlling process\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:243 #, no-wrap msgid "SIGINT \\02 Term Interrupt from keyboard\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:244 #, no-wrap msgid "SIGQUIT \\03 Core Quit from keyboard\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:245 #, no-wrap msgid "SIGILL \\04 Core Illegal Instruction\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:246 #, no-wrap msgid "SIGABRT \\06 Core Abort signal from B(3)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:247 #, no-wrap msgid "SIGFPE \\08 Core Floating point exception\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:248 #, no-wrap msgid "SIGKILL \\09 Term Kill signal\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:249 #, no-wrap msgid "SIGSEGV 11 Core Invalid memory reference\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:250 #, no-wrap msgid "SIGPIPE 13 Term Broken pipe: write to pipe with no\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:251 #, no-wrap msgid " readers\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:252 #, no-wrap msgid "SIGALRM 14 Term Timer signal from B(2)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:253 #, no-wrap msgid "SIGTERM 15 Term Termination signal\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:254 #, no-wrap msgid "SIGUSR1 30,10,16 Term User-defined signal 1\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:255 #, no-wrap msgid "SIGUSR2 31,12,17 Term User-defined signal 2\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:256 #, no-wrap msgid "SIGCHLD 20,17,18 Ign Child stopped or terminated\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:257 #, no-wrap msgid "SIGCONT 19,18,25 Cont Continue if stopped\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:258 #, no-wrap msgid "SIGSTOP 17,19,23 Stop Stop process\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:259 #, no-wrap msgid "SIGTSTP 18,20,24 Stop Stop typed at terminal\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:260 #, no-wrap msgid "SIGTTIN 21,21,26 Stop Terminal input for background process\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:261 #, no-wrap msgid "SIGTTOU 22,22,27 Stop Terminal output for background process\n" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:269 msgid "" "The signals B and B cannot be caught, blocked, or ignored." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:272 msgid "" "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and " "POSIX.1-2001." msgstr "" #. type: tbl table #: man-pages/man7/signal.7:277 #, no-wrap msgid "SIGBUS 10,7,10 Core Bus error (bad memory access)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:278 #, no-wrap msgid "SIGPOLL Term Pollable event (Sys V).\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:279 #, no-wrap msgid " Synonym for B\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:280 #, no-wrap msgid "SIGPROF 27,27,29 Term Profiling timer expired\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:281 #, no-wrap msgid "SIGSYS 12,31,12 Core Bad argument to routine (SVr4)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:282 #, no-wrap msgid "SIGTRAP 5 Core Trace/breakpoint trap\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:283 #, no-wrap msgid "SIGURG 16,23,21 Ign Urgent condition on socket (4.2BSD)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:284 #, no-wrap msgid "SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2BSD)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:285 #, no-wrap msgid "SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2BSD)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:286 #, no-wrap msgid "SIGXFSZ 25,25,31 Core File size limit exceeded (4.2BSD)\n" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:299 msgid "" "Up to and including Linux 2.2, the default behavior for B, " "B, B, and (on architectures other than SPARC and MIPS) " "B was to terminate the process (without a core dump). (On some " "other UNIX systems the default action for B and B is to " "terminate the process without a core dump.) Linux 2.4 conforms to the POSIX." "1-2001 requirements for these signals, terminating the process with a core " "dump." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:301 msgid "Next various other signals." msgstr "" #. type: tbl table #: man-pages/man7/signal.7:306 #, no-wrap msgid "SIGIOT 6 Core IOT trap. A synonym for B\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:307 #, no-wrap msgid "SIGEMT 7,-,7 Term\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:308 #, no-wrap msgid "SIGSTKFLT -,16,- Term Stack fault on coprocessor (unused)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:309 #, no-wrap msgid "SIGIO 23,29,22 Term I/O now possible (4.2BSD)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:310 #, no-wrap msgid "SIGCLD -,-,18 Ign A synonym for B\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:311 #, no-wrap msgid "SIGPWR 29,30,19 Term Power failure (System V)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:312 #, no-wrap msgid "SIGINFO 29,-,- A synonym for B\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:313 #, no-wrap msgid "SIGLOST -,-,- Term File lock lost (unused)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:314 #, no-wrap msgid "SIGWINCH 28,28,20 Ign Window resize signal (4.3BSD, Sun)\n" msgstr "" #. type: tbl table #: man-pages/man7/signal.7:315 #, no-wrap msgid "SIGUNUSED -,31,- Core Synonymous with B\n" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:325 msgid "" "(Signal 29 is B / B on an alpha but B on a sparc.)" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:331 msgid "" "B is not specified in POSIX.1-2001, but nevertheless appears on most " "other UNIX systems, where its default action is typically to terminate the " "process with a core dump." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:335 msgid "" "B (which is not specified in POSIX.1-2001) is typically ignored by " "default on those other UNIX systems where it appears." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:339 msgid "" "B (which is not specified in POSIX.1-2001) is ignored by default on " "several other UNIX systems." msgstr "" #. parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31 #. type: Plain text #: man-pages/man7/signal.7:346 msgid "" "Where defined, B is synonymous with B on most " "architectures." msgstr "" #. type: SS #: man-pages/man7/signal.7:346 #, no-wrap msgid "Real-time signals" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:356 msgid "" "Linux supports real-time signals as originally defined in the POSIX.1b real-" "time extensions (and now included in POSIX.1-2001). The range of supported " "real-time signals is defined by the macros B and B. " "POSIX.1-2001 requires that an implementation support at least " "B<_POSIX_RTSIG_MAX> (8) real-time signals." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:378 msgid "" "The Linux kernel supports a range of 32 different real-time signals, " "numbered 33 to 64. However, the glibc POSIX threads implementation " "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals " "(see B(7)), and adjusts the value of B suitably (to 34 " "or 35). Because the range of available real-time signals varies according " "to the glibc threading implementation (and this variation can occur at run " "time according to the available kernel and glibc), and indeed the range of " "real-time signals varies across UNIX systems, programs should I, but instead should always " "refer to real-time signals using the notation B+n, and include " "suitable (run-time) checks that B+n does not exceed B." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:382 msgid "" "Unlike standard signals, real-time signals have no predefined meanings: the " "entire set of real-time signals can be used for application-defined purposes." "" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:385 msgid "" "The default action for an unhandled real-time signal is to terminate the " "receiving process." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:387 msgid "Real-time signals are distinguished by the following:" msgstr "" #. type: IP #: man-pages/man7/signal.7:387 #, no-wrap msgid "1." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:391 msgid "" "Multiple instances of real-time signals can be queued. By contrast, if " "multiple instances of a standard signal are delivered while that signal is " "currently blocked, then only one instance is queued." msgstr "" #. type: IP #: man-pages/man7/signal.7:391 #, no-wrap msgid "2." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:411 msgid "" "If the signal is sent using B(3), an accompanying value (either an " "integer or a pointer) can be sent with the signal. If the receiving process " "establishes a handler for this signal using the B flag to " "B(2), then it can obtain this data via the I field of " "the I structure passed as the second argument to the handler. " "Furthermore, the I and I fields of this structure can be " "used to obtain the PID and real user ID of the process sending the signal." msgstr "" #. type: IP #: man-pages/man7/signal.7:411 #, no-wrap msgid "3." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:420 msgid "" "Real-time signals are delivered in a guaranteed order. Multiple real-time " "signals of the same type are delivered in the order they were sent. If " "different real-time signals are sent to a process, they are delivered " "starting with the lowest-numbered signal. (I.e., low-numbered signals have " "highest priority.) By contrast, if multiple standard signals are pending " "for a process, the order in which they are delivered is unspecified." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:425 msgid "" "If both standard and real-time signals are pending for a process, POSIX " "leaves it unspecified which is delivered first. Linux, like many other " "implementations, gives priority to standard signals in this case." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:448 msgid "" "According to POSIX, an implementation should permit at least " "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process. " "However, Linux does things differently. In kernels up to and including 2.6." "7, Linux imposes a system-wide limit on the number of queued real-time " "signals for all processes. This limit can be viewed and (with privilege) " "changed via the I file. A related file, I, can be used to find out how many real-time signals are " "currently queued. In Linux 2.6.8, these I interfaces were replaced " "by the B resource limit, which specifies a per-user limit " "for queued signals; see B(2) for further details." msgstr "" #. type: SS #: man-pages/man7/signal.7:448 #, no-wrap msgid "Async-signal-safe functions" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:457 msgid "" "A signal handler function must be very careful, since processing elsewhere " "may be interrupted at some arbitrary point in the execution of the program. " "POSIX has the concept of \"safe function\". If a signal interrupts the " "execution of an unsafe function, and I calls an unsafe function, " "then the behavior of the program is undefined." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:461 msgid "" "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2) requires " "an implementation to guarantee that the following functions can be safely " "called inside a signal handler:" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:582 #, no-wrap msgid "" "_Exit()\n" "_exit()\n" "abort()\n" "accept()\n" "access()\n" "aio_error()\n" "aio_return()\n" "aio_suspend()\n" "alarm()\n" "bind()\n" "cfgetispeed()\n" "cfgetospeed()\n" "cfsetispeed()\n" "cfsetospeed()\n" "chdir()\n" "chmod()\n" "chown()\n" "clock_gettime()\n" "close()\n" "connect()\n" "creat()\n" "dup()\n" "dup2()\n" "execle()\n" "execve()\n" "fchmod()\n" "fchown()\n" "fcntl()\n" "fdatasync()\n" "fork()\n" "fpathconf()\n" "fstat()\n" "fsync()\n" "ftruncate()\n" "getegid()\n" "geteuid()\n" "getgid()\n" "getgroups()\n" "getpeername()\n" "getpgrp()\n" "getpid()\n" "getppid()\n" "getsockname()\n" "getsockopt()\n" "getuid()\n" "kill()\n" "link()\n" "listen()\n" "lseek()\n" "lstat()\n" "mkdir()\n" "mkfifo()\n" "open()\n" "pathconf()\n" "pause()\n" "pipe()\n" "poll()\n" "posix_trace_event()\n" "pselect()\n" "raise()\n" "read()\n" "readlink()\n" "recv()\n" "recvfrom()\n" "recvmsg()\n" "rename()\n" "rmdir()\n" "select()\n" "sem_post()\n" "send()\n" "sendmsg()\n" "sendto()\n" "setgid()\n" "setpgid()\n" "setsid()\n" "setsockopt()\n" "setuid()\n" "shutdown()\n" "sigaction()\n" "sigaddset()\n" "sigdelset()\n" "sigemptyset()\n" "sigfillset()\n" "sigismember()\n" "signal()\n" "sigpause()\n" "sigpending()\n" "sigprocmask()\n" "sigqueue()\n" "sigset()\n" "sigsuspend()\n" "sleep()\n" "sockatmark()\n" "socket()\n" "socketpair()\n" "stat()\n" "symlink()\n" "sysconf()\n" "tcdrain()\n" "tcflow()\n" "tcflush()\n" "tcgetattr()\n" "tcgetpgrp()\n" "tcsendbreak()\n" "tcsetattr()\n" "tcsetpgrp()\n" "time()\n" "timer_getoverrun()\n" "timer_gettime()\n" "timer_settime()\n" "times()\n" "umask()\n" "uname()\n" "unlink()\n" "utime()\n" "wait()\n" "waitpid()\n" "write()\n" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:587 msgid "" "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf() from the above " "list, and adds the following functions:" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:610 #, no-wrap msgid "" "execl()\n" "execv()\n" "faccessat()\n" "fchmodat()\n" "fchownat()\n" "fexecve()\n" "fstatat()\n" "futimens()\n" "linkat()\n" "mkdirat()\n" "mkfifoat()\n" "mknod()\n" "mknodat()\n" "openat()\n" "readlinkat()\n" "renameat()\n" "symlinkat()\n" "unlinkat()\n" "utimensat()\n" "utimes()\n" msgstr "" #. type: SS #: man-pages/man7/signal.7:612 #, no-wrap msgid "Interruption of system calls and library functions by signal handlers" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:615 msgid "" "If a signal handler is invoked while a system call or library function call " "is blocked, then either:" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:617 msgid "" "the call is automatically restarted after the signal handler returns; or" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:620 msgid "the call fails with the error B." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:628 msgid "" "Which of these two behaviors occurs depends on the interface and whether or " "not the signal handler was established using the B flag (see " "B(2)). The details vary across UNIX systems; below, the details " "for Linux." msgstr "" #. The following system calls use ERESTARTSYS, #. so that they are restartable #. type: Plain text #: man-pages/man7/signal.7:637 msgid "" "If a blocked call to one of the following interfaces is interrupted by a " "signal handler, then the call will be automatically restarted after the " "signal handler returns if the B flag was used; otherwise the " "call will fail with the error B:" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:653 msgid "" "B(2), B(2), B(2), B(2), and B(2) calls " "on \"slow\" devices. A \"slow\" device is one where the I/O call may block " "for an indefinite time, for example, a terminal, pipe, or socket. (A disk " "is not a slow device according to this definition.) If an I/O call on a " "slow device has already transferred some data by the time it is interrupted " "by a signal handler, then the call will return a success status (normally, " "the number of bytes transferred)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:657 msgid "" "B(2), if it can block (e.g., when opening a FIFO; see B(7))." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:664 msgid "B(2), B(2), B(2), B(2), and B(2)." msgstr "" #. If a timeout (setsockopt()) is in effect on the socket, then these #. system calls switch to using EINTR. Consequently, they and are not #. automatically restarted, and they show the stop/cont behavior #. described below. (Verified from 2.6.26 source, and by experiment; mtk) #. FIXME What about sendmmsg()? #. type: Plain text #: man-pages/man7/signal.7:682 msgid "" "Socket interfaces: B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), and B(2), " "unless a timeout has been set on the socket (see below)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:688 msgid "File locking interfaces: B(2) and B(2) B." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:695 msgid "" "POSIX message queue interfaces: B(3), B(3), " "B(3), and B(3)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:700 msgid "" "B(2) B (since Linux 2.6.22; beforehand, always failed " "with B)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:707 msgid "" "POSIX semaphore interfaces: B(3) and B(3) (since " "Linux 2.6.22; beforehand, always failed with B)." msgstr "" #. These are the system calls that give EINTR or ERESTARTNOHAND #. on interruption by a signal handler. #. type: Plain text #: man-pages/man7/signal.7:718 msgid "" "The following interfaces are never restarted after being interrupted by a " "signal handler, regardless of the use of B; they always fail " "with the error B when interrupted by a signal handler:" msgstr "" #. type: Plain text #: man-pages/man7/signal.7:733 man-pages/man7/signal.7:813 msgid "" "\"Input\" socket interfaces, when a timeout (B) has been set " "on the socket using B(2): B(2), B(2), " "B(2), B(2) (also with a non-NULL I argument), " "and B(2)." msgstr "" #. FIXME What about sendmmsg()? #. type: Plain text #: man-pages/man7/signal.7:744 msgid "" "\"Output\" socket interfaces, when a timeout (B) has been set " "on the socket using B(2): B(2), B(2), " "B(2), and B(2)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:751 msgid "" "Interfaces used to wait for signals: B(2), B(2), " "B(2), and B(2)." msgstr "" #. type: Plain text #: man-pages/man7/signal.7:760 msgid "" "File descriptor multiplexing interfaces: B(2), " "B(2), B(2), B(2), B