siginterrupt(3) Library Functions Manual siginterrupt(3)
NAME
siginterrupt - Allows signals to interrupt functions
LIBRARY
Standard C Library (libc.so, libc.a)
Berkeley Compatibility Library (libbsd.a)
SYNOPSIS
#include <signal.h> /* libc version */
int siginterrupt(
int sig,
int flag) ;
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
siginterrupt() (libc version): XSH4.2
Refer to the standards(5) reference page for more information about industry standards and associated tags.
PARAMETERS
Specifies the expected interrupt signal. Indicates whether the function is to restart when interrupted by the specified signal. When the
flag parameter is TRUE, restart is disabled. When the flag parameter is FALSE, restart is enabled.
DESCRIPTION
The siginterrupt() function is used to change the restart behavior of a system call when it is interrupted by the signal specified by the
sig parameter. When the flag parameter is FALSE (0), system calls restart when they are interrupted by the sig signal and no data has yet
been transferred.
When the flag parameter is TRUE (1), restart of system calls is disabled. When a system call is interrupted by the sig signal and no data
has been transferred, the function returns a value of -1 with errno set to [EINTR]. Otherwise, interrupted system calls that have started
transferring data return a value that is the number of data bytes actually transferred.
[Tru64 UNIX] System call interrupt is the default behavior unless the calling program has been linked with the libbsd library and the
libbsd version of signal() has been used.
NOTES
The siginterrupt() function is provided for compatibility with BSD systems. When writing or rewriting portable applications, use the
sigaction() function with the SA_RESTART flag instead of siginterrupt().
The use of the siginterrupt() function does not affect signal-handling semantics in any other way. Programs may switch between restartable
and interruptible system call operation as often as desired in the execution of a program.
Issuing a siginterrupt() call during the execution of a signal handler causes the new action to take place when the next instance of the
specified signal is caught.
RETURN VALUES
Upon successful completion, siginterrupt() returns a value of 0 (zero). Otherwise, a value of -1 is returned to indicate that an invalid
signal value has been used.
ERRORS
If the siginterrupt() function fails, errno may be set to the following value: The value of the sig parameter does not represent a valid
signal.
RELATED INFORMATION
Functions: sigaction(2), sigprocmask(2), sigsuspend(2)
Standards: standards(5) delim off
siginterrupt(3)