IO::Async::Signal.3pm

Langue: en

Version: 2010-06-09 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

"IO::Async::Signal" - event callback on receipt of a POSIX signal

SYNOPSIS

  use IO::Async::Signal;
 
  use IO::Async::Loop;
  my $loop = IO::Async::Loop->new();
 
  my $signal = IO::Async::Signal->new(
     name => "HUP",
 
     on_receipt => sub {
         print "I caught SIGHUP\n";
     },
  );
 
  $loop->add( $signal );
 
  $loop->loop_forever;
 
 

DESCRIPTION

This module provides a class of "IO::Async::Notifier" which invokes its callback when a particular POSIX signal is received.

Multiple objects can be added to a "Loop" that all watch for the same signal. The callback functions will all be invoked, in no particular order.

This object may be used in one of two ways; with a callback function, or as a base class.

Callbacks
If the "on_receipt" key is supplied to the constructor, it should contain a CODE reference to a callback function to be invoked when the signal is received.
  $on_receipt->( $self )
 
 
Base Class
If a subclass is built, then it can override the "on_receipt" method.
  $self->on_receipt()
 
 

PARAMETERS

The following named parameters may be passed to "new" or "configure":
name => STRING
The name of the signal to watch. This should be a bare name like "TERM". Can only be given at construction time.
on_receipt => CODE
CODE reference to callback to invoke when the signal is received. If not supplied, the subclass method will be called instead.

Once constructed, the "Signal" will need to be added to the "Loop" before it will work.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>