The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

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() with the SA_RESTART flag instead of siginterrupt().

FUTURE DIRECTIONS

None.

SEE ALSO

sigaction(), <signal.h>.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]