in reply to Signals to threads

Seconding what Corion said - mixing signals and threads is messy, and often unnecessary.

As for checking whether it's still running though - you can check thread state by testing "running":

my @running = threads->list(threads::running); my @joinable = threads->list(threads::joinable);

Or per thread:

foreach my $thr ( threads -> list ) { print $thr. " is running\n" if $thr -> is_running(); print $thr. " is joinable\n" if $thr -> is_joinable(); }