Originální popis anglicky:
siginterrupt - allow signals to interrupt system calls
Návod, kniha: Linux Programmer's Manual
#include <signal.h>
int siginterrupt(int sig, int flag);
The
siginterrupt() function changes the restart behaviour when a system
call is interrupted by the signal
sig. If the
flag argument is
false (0), then system calls will be restarted if interrupted by the specified
signal
sig. This is the default behaviour in Linux. However, when a new
signal handler is specified with the
signal(2) function, the system
call is interrupted by default.
If the
flags argument is true (1) and no data has been transferred, then
a system call interrupted by the signal
sig will return -1 and the
global variable
errno will be set to
EINTR.
If the
flags argument is true (1) and data transfer has started, then the
system call will be interrupted and will return the actual amount of data
transferred.
The
siginterrupt() function returns 0 on success, or -1 if the signal
number
sig is invalid.
- EINVAL
- The specified signal number is invalid.
BSD 4.3
signal(2)