SIGINTERRUPT(3)            Linux Programmer's Manual           SIGINTERRUPT(3)
NAME
       siginterrupt - allow signals to interrupt system calls

SYNOPSIS
       #include <signal.h>

       int siginterrupt(int sig, int flag);

DESCRIPTION
       The siginterrupt() function changes the restart behaviour when a system
       call is interrupted by the signal sig.  If the flag argument  is  false
       (0),  then  system calls will be restarted if interrupted by the speci-
       fied signal sig.  This is the default  behaviour  in  Linux.   However,
       when a new signal handler is specified with the signal(2) function, the
       system call is interrupted by default.

       If the flags argument is true (1) and no  data  has  been  transferred,
       then a system call interrupted by the signal sig will return -1 and the
       global variable errno will be set to EINTR.

       If the flags argument is true (1) and data transfer has  started,  then
       the  system  call will be interrupted and will return the actual amount
       of data transferred.

RETURN VALUE
       The siginterrupt() function returns 0 on success, or -1 if  the  signal
       number sig is invalid.

ERRORS
       EINVAL The specified signal number is invalid.

CONFORMING TO
       4.3BSD, POSIX.1-2001.

SEE ALSO
       signal(2)

                                  1993-04-13                   SIGINTERRUPT(3)