SIGINTERRUPT(3) Library Functions Manual SIGINTERRUPT(3)

siginterruptallow signals to interrupt functions


#include <signal.h>

int siginterrupt(int sig, int flag);

The siginterrupt () function shall change the restart behavior when a function is interrupted by the specified signal. The function siginterrupt ( , ) 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;
}

Upon successful completion, siginterrupt () shall return 0; otherwise, -1 shall be returned and set to indicate the error.

The siginterrupt () function shall fail if:

The sig argument is not a valid signal number.

None.

The siginterrupt () function supports programs written to historical system interfaces. Applications should use the sigaction(3) with the SA_RESTART flag instead of the obsolescent siginterrupt () function.

None.

None.

V2_chap02(3), sigaction(3)

XBD <signal.h>

First released in Issue 4, Version 2.

Moved from X/OPEN UNIX extension to BASE.

IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 1-2002, item XSH/TC1/D6/59 is applied, correcting the declaration in the sample implementation given in the DESCRIPTION.

The siginterrupt () function is marked obsolescent.

January 1, 2016 posix.fail