Provided by: manpages-pt-dev_20040726-4_all bug

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
       specified  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

       BSD 4.3

SEE ALSO

       signal(2)

                                April 13, 1993                 SIGINTERRUPT(3)