The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.
A newer edition of this document exists here

NAME

siginterrupt - allow signals to interrupt functions

SYNOPSIS

[XSI] [Option Start] #include <signal.h>

int siginterrupt(int
sig, int flag); [Option End]

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.

The following sections are informative.

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

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

Signal Concepts, sigaction(), the Base Definitions volume of IEEE Std 1003.1-2001, <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/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.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]