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>