in reply to sleep and waking on signal handlers
Change your long sleep to a loop:
my $count = 100; sleep 1 while --$count; [download]
This will consume negligable cpu but remain responsive even under safe-signals on any platform.