Tue, 09 Mar 2004

Timeout....

val {
    local $SIG{ALRM} = sub { die "alarm timeout" };
    local $SIG{__DIE__} = sub { alarm 0; die @_ };
    alarm $timeout;
    # operation you're waiting on which might die()
    # in the grandparent post, this was 
    # $line=<$child>
    alarm 0;        # cancel the alarm
};
die $@ if $@ && $@ !~ /alarm timeout/;
if ($@) {
    # Whatever you want on an alarm timeout
}

( from perlmonks post by fizbin ):w

[/Perl] permanent link
September 2007
Sun Mon Tue Wed Thu Fri Sat