Author image Doug MacEachern

NAME

Sys::Signal - Set signal handlers with restoration of existing C sighandler

SYNOPSIS

  use Sys::Signal ();
  eval {    
      my $h = Sys::Signal->set(ALRM => sub { die "timeout\n" });    
      alarm $timeout;   
      ... do something thay may timeout ...
      alarm 0;    
  };    
  die $@ if $@;

DESCRIPTION

The Sys::Signal set method works much like local $SIG{FOO}, but with the added functionality of restoring the underlying signal handler to the previous C function, rather than Perl's. Unless, of course, Perl's C signal handler was the previous handler.

AUTHOR

Doug MacEachern

SEE ALSO

perl(1).