NAME
siginterrupt —
allow signals to interrupt functions
SYNOPSIS
int siginterrupt(int sig, int flag);
DESCRIPTION
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;
}
RETURN VALUE
Upon successful completion, siginterrupt
() shall return 0; otherwise, -1 shall be returned and
errno
set to indicate the error.
ERRORS
The siginterrupt () function shall 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 conforming application,
when being written or rewritten, should use sigaction(3)
with the SA_RESTART flag instead of siginterrupt
().
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
xsh_chap02_04(3), sigaction(3), the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <signal.h>
CHANGE HISTORY
First released in Issue 4, Version 2.
Issue 5
Moved from X/OPEN UNIX extension to BASE.
Issue 6
IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 1-2002, item XSH/TC1/D6/59 is applied, correcting the declaration in the sample implementation given in the DESCRIPTION.
End of informative text. footer end