#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 2;
use POE qw( Session Kernel );
use IO::Async::Loop::POE;
use IO::Async::Signal;
my $loop = IO::Async::Loop::POE->new;
my $poe_signal;
POE::Session->create(
inline_states => {
_start => sub {
$_[KERNEL]->sig( INT => 'sigint' );
},
sigint => sub { $poe_signal = $_[ARG0]; $_[KERNEL]->sig_handled },
},
);
my $ioasync_signal;
$loop->add(
IO::Async::Signal->new(
name => "INT",
on_receipt => sub { $ioasync_signal = "INT" },
)
);
kill INT => $$;
$loop->loop_once until defined $poe_signal and defined $ioasync_signal;
is( $poe_signal, "INT", 'POE signal' );
is( $ioasync_signal, "INT", 'IO::Async signal' );