siginterrupt(2) siginterrupt(2)
NAME [Toc] [Back]
siginterrupt - allow signals to interrupt functions
SYNOPSIS [Toc] [Back]
#include <signal.h>
int siginterrupt(int sig, int flag);
DESCRIPTION [Toc] [Back]
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 [Toc] [Back]
Upon successful completion, siginterrupt() returns 0. Otherwise -1 is
returned and errno is set to indicate the error.
ERRORS [Toc] [Back]
The siginterrupt() function will fail if:
[EINVAL] The sig argument is not a valid signal
number.
APPLICATION USAGE [Toc] [Back]
The siginterrupt() function supports programs written to historical
system interfaces. A portable application, when being written or
rewritten, should use sigaction() with the SA_RESTART flag instead of
siginterrupt().
Threads Considerations [Toc] [Back]
System call restart is a process attribute. Therefore, changing the
restart behavior affects all threads in the process.
SEE ALSO [Toc] [Back]
sigaction(2), <signal.h>.
CHANGE HISTORY [Toc] [Back]
First released in Issue 4, Version 2.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003 [ Back ] |