I should be able to use ithreads for this. See:

http://perldoc.perl.org/threads.html

I could run a mini event loop over the $thr-is_joinable() condition.