# leak -*-perl-*- use Test; plan test => 6; use Event qw(all_watchers); my @e = Event::all_watchers(); ok @e, 0; @e = Event::all_idle(); ok @e, 0; sub thrash { Event->idle(parked=>1)->cancel; Event->io(parked => 1)->cancel; Event->signal(parked=>1)->cancel; Event->timer(parked=>1)->cancel; my $var = 1; Event->var(parked=>1)->cancel; } for (1..2) { thrash(); } my $got = join(', ', map { ref } all_watchers()) || 'None'; ok($got, 'None'); { my $io = Event->io(parked => 1); ok !$io->is_cancelled; $io->cancel for 1..3; #shouldn't crash! ok $io->is_cancelled; eval { $io->start }; ok $@, '/cancelled/'; }