SIGINTERRUPT(3) Library Functions Manual SIGINTERRUPT(3)
NAME
siginterrupt —
allow signals to interrupt functions
SYNOPSIS
#include <signal.h> int siginterrupt(int sig, int flag);
DESCRIPTION
The siginterrupt() function is used to change the restart
behaviour when a function is interrupted by the specified signal. The
function siginterrupt ( sig , flag ) has an effect
as if implemented as:
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;
}
RETURN VALUE
Upon successful completion, siginterrupt() returns 0. Otherwise -1 is returned and errno is set to indicate the error.
ERRORS
The siginterrupt() function will fail if:
- [EINVAL]
- The sig argument is not a valid signal number.
EXAMPLES
None.
APPLICATION USAGE
The siginterrupt() function supports programs written to historical system interfaces. A portable application, when being written or rewritten, should use sigaction(3) with the SA_RESTART flag instead of siginterrupt() .
FUTURE DIRECTIONS
None.
SEE ALSO
February 1997 posix.fail