*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> siginterrupt (3)              
Title
Content
Arch
Section
 

SIGINTERRUPT(3)

Contents


NAME    [Toc]    [Back]

     siginterrupt - allow signals to interrupt system calls

SYNOPSIS    [Toc]    [Back]

     #include <signal.h>

     int
     siginterrupt(int sig, int flag);

DESCRIPTION    [Toc]    [Back]

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

     If flag is true (1), the 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 the  global
variable
     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 BSD systems
prior to
     4.2BSD as well as most systems  based  upon  AT&T  System  V
UNIX.

     Programs  may  switch  between restartable and interruptible
system call operation
 as often as desired in the execution of  a  program.
Issuing a
     siginterrupt() call during the execution of a signal handler
will cause
     the new action to take  place  on  the  next  signal  to  be
caught.

RETURN VALUES    [Toc]    [Back]

     siginterrupt() returns 0 on success or -1 if an invalid signal number has
     been specified.

SEE ALSO    [Toc]    [Back]

      
      
     sigaction(2), sigprocmask(2), sigsuspend(2)

HISTORY    [Toc]    [Back]

     The siginterrupt() function appeared in 4.3BSD.

OpenBSD     3.6                        February      4,      2001
[ Back ]
 Similar pages
Name OS Title
strace Linux trace system calls and signals
siginterrupt Tru64 Allow signals to interrupt functions
siginterrupt HP-UX allow signals to interrupt functions
siginterrupt IRIX allow signals to interrupt functions (X/Open XPG4)
sigsuspend OpenBSD atomically release blocked signals and wait for interrupt
sigpause OpenBSD atomically release blocked signals and wait for interrupt
sigsuspend NetBSD atomically release blocked signals and wait for interrupt
sigpause FreeBSD atomically release blocked signals and wait for interrupt
sigpause Linux atomically release blocked signals and wait for interrupt
sigsuspend FreeBSD atomically release blocked signals and wait for interrupt
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service