NAME

    Mojo::IOLoop::Signal - Non-blocking signal handler

SYNOPSIS

      use Mojo::IOLoop::Signal;
    
      Mojo::IOLoop::Signal->on(TERM => sub {
        my ($self, $name) = @_;
        warn "Got $name signal";
      });
    
      Mojo::IOLoop->start unless Mojo::IOLoop->is_running;

DESCRIPTION

    Mojo::IOLoop::Signal is a Mojo::IOLoop based, non-blocking signal
    handler.

EVENTS

    Mojo::IOLoop::Signal inherits all events from Mojo::EventEmitter and
    can emit the following new ones.

 signal names such as TERM, INT, QUIT, ...

    See $Config{sig_name} for a complete list.

      $ perl -MConfig -e 'print $Config{sig_name}'
      ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 IOT

METHODS

    Mojo::IOLoop::Signal inherits all methods from Mojo::EventEmitter and
    implements the following new ones.

 stop

      Mojo::IOLoop::Signal->stop;

    Stop watching signals. You might want to use stop like:

      Mojo::IOLoop::Signal->on(HUP => sub {
        my ($self, $name) = @_;
        # log rotate
      });
      Mojo::IOLoop::Signal->on(TERM => sub {
        my ($self, $name) = @_;
        $self->stop;
      });
      Mojo::IOLoop->start;

AUTHOR

    Shoichi Kaji <skaji@cpan.org>

COPYRIGHT AND LICENSE

    Copyright 2016 Shoichi Kaji <skaji@cpan.org>

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.