Munin::Common::Timeout3pm
Run code with a timeout. may nest.
Usage
use Munin::Common::Timeout;do_with_timeout(50, sub {# ...do_with_timeout(5, sub {# ...# ...});# ...});
Overview
See also Time::Out, Sys::AlarmCall
Subroutines
do_with_timeout-
my $finished_with_no_timeout = do_with_timeout($seconds, $code_ref)or die "Timed out!";Executes
$blockwith a timeout of$seconds. Returns the return value of the$blockif it completed within the timeout. If the timeout is reached and the code is still running, it halts it and returns undef.NB: every
$code_refshould return something defined, otherwise the caller doesn't know if a timeout occurred.Calls to
do_with_timeout()can be nested. Any exceptions raised by$blockare propagated.
Releases
9 releases since Debian 6.0 (Squeeze); the text changed 8 times.