siginterrupt(3C) Standard C Library Functions siginterrupt(3C)
NAME
siginterrupt - allow signals to interrupt functions
SYNOPSIS
#include <signal.h>
int siginterrupt(int sig, int flag);
DESCRIPTION
The siginterrupt() function changes the restart behavior when a function is interrupted by the specified signal. The function siginter-
rupt(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 VALUES
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.
USAGE
The siginterrupt() function supports programs written to historical system interfaces. A standard-conforming application, when being writ-
ten or rewritten, should use sigaction(2) with the SA_RESTART flag instead of siginterrupt().
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
sigaction(2), signal.h(3HEAD), attributes(5), standards(5)
SunOS 5.10 1 Sep 2003 siginterrupt(3C)