Home
March 12, 2010 7:02:36 PM EST
home
back print
SIGINTERRUPT   (3) manpage
SIGINTERRUPT
3
2007-07-26
Linux Programmer's Manual
  • NAME
      siginterrupt - allow signals to interrupt system calls
  • SYNOPSIS
      
       #include <signal.h>
      
       int siginterrupt(int  sig , int  flag );
      

      Feature Test Macro Requirements for glibc (see
      feature_test_macros(7) ):


      siginterrupt ():
      _BSD_SOURCE || _XOPEN_SOURCE >= 500
  • DESCRIPTION
      The
      siginterrupt ()
      function changes the restart behavior 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 behavior in Linux.
      However, when a new signal handler is specified with the
      signal(2)
      function, the system call is interrupted by default.



      If the flag 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 flag 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.
      POSIX.1-2008 marks
      siginterrupt ()
      as obsolete.
  • SEE ALSO
  • COLOPHON
      This page is part of release 3.19 of the Linux
      man-pages
      project.
      A description of the project,
      and information about reporting bugs,
      can be found at
      http://www.kernel.org/doc/man-pages/.


Current Users: 65 © 1999-2009 PenguinSoft. All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.