Changes for version 6.09 - 2012-10-06

  • Coro::EV I/O watchers were not interruptible by exceptions (Coro::State::throw) (testcase by sten).
  • ->throw now puts threads into the ready queue, as this seems to be expected by existing code, and code that doesn't cope with spurious wakeups needs fixing anyway.
  • use fd -1 in mmap.
  • cast I32 to int in error message printf.
  • warn about broken so-called "hardened" kernels.

Documentation

Modules

the only real threads in perl
truly asynchronous file and directory I/O
integrate threads into AnyEvent
truly asynchronous bdb access
message queues
various functions that help debugging Coro programs
non-blocking I/O with a blocking interface.
make LWP non-blocking - as much as possible
MakeMaker glue for the XS-level Coro API
reader/write locks
a (slow but coro-aware) replacement for CORE::select
counting semaphores
efficient set of counting semaphores
thread signals (binary semaphores)
non-blocking socket-I/O
manage coroutine-specific variables.
first class continuations
offer a more fine-grained Storable interface
timers and timeouts, independent of any event loop
various utility functions.
do events the coro-way, with EV
do events the coro-way, with Event

Provides

in Coro/State.pm
in Coro/Handle.pm
in Coro/LWP.pm
in Coro/Timer.pm