man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

siginterrupt(3C)

Name

siginterrupt - allow signals to interrupt functions

Synopsis

#include <signal.h>

int siginterrupt(int sig, int flag);

Description

The siginterrupt() function changes the restart behavior 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 Values

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.

Usage

The siginterrupt() function supports programs written to historical system interfaces. A standard-conforming application, when being written or rewritten, should use sigaction( 2) with the SA_RESTART flag instead of siginterrupt().

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See Also

sigaction(2), signal.h(3HEAD) , attributes(5), standards( 5)