The Open Group Base Specifications Issue 7, 2018 edition
IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
Copyright © 2001-2018 IEEE and The Open Group
A newer edition of this document exists here

NAME

siginterrupt - allow signals to interrupt functions

SYNOPSIS

[OB 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. Applications should use the sigaction() with the SA_RESTART flag instead of the obsolescent siginterrupt() function.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

Signal Concepts, sigaction

XBD <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.

Issue 7

The siginterrupt() function is marked obsolescent.

End of informative text.

 

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ™ is a Trademark of The IEEE.
Copyright © 2001-2018 IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]