--- Coro/t/01_process.t 2008/04/19 19:07:46 1.9 +++ Coro/t/01_process.t 2008/11/20 06:28:52 1.10 @@ -1,5 +1,5 @@ $|=1; -print "1..9\n"; +print "1..13\n"; use Coro; @@ -35,3 +35,40 @@ print "ok 9\n"; +{ + my $as1 = async { + print "not ok 10\n"; + }; + + my $as2 = async { + print "ok 10\n"; + $as1->cancel; + }; + + $as2->cede_to; +} + +{ + my $as1 = async { + print "not ok 11\n"; + }; + + my $as2 = async { + print "ok 11\n"; + $as1->cancel; + cede; + print "ok 12\n"; + $Coro::main->ready; + $Coro::main->throw ("exit"); + }; + + local $SIG{__DIE__} = sub { + print "ok 13\n"; + exit if $@ eq "exit"; + }; + + $as2->schedule_to; +} + +print "not ok 12\n"; +