Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

sigprocmask(2)

sigsuspend(2)

siginterrupt(3)  —  Subroutines

OSF

NAME

siginterrupt − Allows signals to interrupt functions

LIBRARY

Berkeley Compatibility Library (libbsd.a)

SYNOPSIS

int siginterrupt(
int sig,
int flag) ;

PARAMETERS

sigSpecifies the expected interrupt signal. 

flagIndicates 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 a 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. 

System call interrupt is the default behavior unless the calling program has been linked with the libbsd library. 

NOTES

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. 

The siginterrupt() function is provided for compatibility with BSD systems, and programs that use it should be linked with the libbsd library.  The recommended method for controlling whether a signal is restartable or interruptible is to use the sigaction() function. 

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:

[EINVAL]The value of the sig parameter does not represent a valid signal. 

RELATED INFORMATION

Functions: sigaction(2), sigprocmask(2), sigsuspend(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026