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)