Munin::Common::Timeout(3pm) User Contributed Perl Documentation Munin::Common::Timeout(3pm)

Munin::Common::Timeout - Run code with a timeout. May nest.

use Munin::Common::Timeout;
do_with_timeout(50, sub {
    # ...
       do_with_timeout(5, sub {
               # ...
               # ...
       });
    # ...
});

See also Time::Out, Sys::AlarmCall

my $finished_with_no_timeout = do_with_timeout($seconds, $code_ref)
    or die "Timed out!";

Executes $block with a timeout of $seconds. Returns the return value of the $block if 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_ref should 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 $block are propagated.

2023-11-05 perl v5.38.0