siginterrupt.2 (2010 09)

s
siginterrupt(2) siginterrupt(2)
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.
APPLICATION USAGE
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
System call restart is a process attribute. Therefore, changing the restart behavior affects all threads in
the process.
SEE ALSO
sigaction(2), <signal.h>.
CHANGE HISTORY
First released in Issue 4, Version 2.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)