---
name: "Coro::Timer"
section: "3pm"
platform: "linux"
package: "libcoro-perl"
version: "6.570-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Coro::Timer"
---

# Coro::Timer(3pm)

timers and timeouts, independent of any event loop

## NAME

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
```
