siginterrupt - allow signals to interrupt functions
The siginterrupt() function shall change the restart behavior when a function is interrupted by the specified signal. The function siginterrupt(sig, flag) has an effect as if implemented as:
int siginterrupt(int sig, int flag) { int ret; struct sigaction act;
(void) sigaction(sig, NULL, &act); if (flag) act.sa_flags &= SA_RESTART; else act.sa_flags |= SA_RESTART; ret = sigaction(sig, &act, NULL); return ret; }
Upon successful completion, siginterrupt() shall return 0; otherwise, -1 shall be returned and errno set to indicate the error.
The siginterrupt() function shall fail if:
- [EINVAL]
- The sig argument is not a valid signal number.
None.
The siginterrupt() function supports programs written to historical system interfaces. A conforming application, when being written or rewritten, should use sigaction() with the SA_RESTART flag instead of siginterrupt().
None.
None.
Signal Concepts, sigaction(), the Base Definitions volume of IEEE Std 1003.1-2001, <signal.h>
First released in Issue 4, Version 2.
Moved from X/OPEN UNIX extension to BASE.
IEEE Std 1003.1-2001/Cor 1-2002, item XSH/TC1/D6/59 is applied, correcting the declaration in the sample implementation given in the DESCRIPTION.