Coro::Timer#

timers and timeouts, independent of any event loop

SYNOPSIS#

## This package is mostly obsoleted by Coro::AnyEvent.

use Coro::Timer qw(timeout);
## nothing exported by default

DESCRIPTION#

This package has been mostly obsoleted by Coro::AnyEvent, the only really useful function left in here is timeout.

  • $flag = timeout $seconds

    This function will wake up the current coroutine after $seconds seconds and sets $flag to true (it is false initially). If $flag goes out of scope earlier then nothing happens.

    This is used by Coro itself to implement the timed_down, timed_wait etc. primitives. It is used like this:

    sub timed_wait {
       my $timeout = Coro::Timer::timeout 60;
    
       while (condition false) {
          Coro::schedule; # wait until woken up or timeout
          return 0 if $timeout; # timed out
       }
    
       return 1; # condition satisfied
    }
    

AUTHOR/SUPPORT/CONTACT#

Marc A. Lehmann <schmorp@schmorp.de>
http://software.schmorp.de/pkg/Coro.html