- $mpd->loop->add(
- IO::Async::Signal->new(
- name => 'INT',
- on_receipt => sub {
- $log->debug("SIGINT received. Stopping loop");
- $mpd->loop->stop('quit');
- },
- )
- );
+ if ( $signal_count > 1 ) {
+ $log->warn("Another signal received (#$signal_count)");
+ $log->warn("Exiting abruptly");
+ exit 2;
+ }
+ };
+
+ for (qw(TERM INT)) {
+ $mpd->loop->add(
+ IO::Async::Signal->new(
+ name => $_,
+ on_receipt => $int_signal_handler,
+ )
+ );
+ }