SIGINTERRUPT(3)                                                SIGINTERRUPT(3)


NAME
       siginterrupt - allow signals to interrupt system calls

SYNOPSIS
       siginterrupt(sig, flag);
       int sig, flag;

DESCRIPTION
       Siginterrupt  is used to change the system call restart behavior when a
       system call is interrupted by the specified signal.   If  the  flag  is
       false  (0), then system calls will be restarted if they are interrupted
       by the specified signal and no data has been transferred  yet.   System
       call restart is the default behavior on 4.2 BSD.

       If  the  flag is true (1), then restarting of system calls is disabled.
       If a system call is interrupted by the specified signal and no data has
       been  transferred,  the  system  call  will return -1 with errno set to
       EINTR.  Interrupted system calls that have  started  transferring  data
       will  return  the  amount  of  data  actually transferred.  System call
       interrupt is the signal behavior found on 4.1 BSD  and  AT&T  System  V
       UNIX systems.

       Note  that the new 4.2 BSD signal handling semantics are not altered in
       any other way.  Most notably, signal handlers always  remain  installed
       until explicitly changed by a subsequent sigvec(2) call, and the signal
       mask operates as documented in sigvec(2).  Programs may switch  between
       restartable and interruptible system call operation as often as desired
       in the execution of a program.

       Issuing a siginterrupt(3) call during the execution of a signal handler
       will  cause  the  new  action  to  take  place on the next signal to be
       caught.

NOTES
       This library routine uses an extension of  the  sigvec(2)  system  call
       that  is  not available in 4.2BSD, hence it should not be used if back‐
       ward compatibility is needed.

RETURN VALUE
       A 0 value indicates that the call succeeded.  A -1 value indicates that
       an invalid signal number has been supplied.

SEE ALSO
       sigvec(2), sigblock(2), sigpause(2), sigsetmask(2).


4.3 Berkeley Distribution        May 15, 1985                  SIGINTERRUPT(3)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 704
Valid CSS Valid XHTML 1.0 Strict