The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 5.21 - 2009-12-16

  • automatically load Coro::AnyEvent when AnyEvent and Coro are used together.
  • add some examples on how to combine other event loops with Coro in Coro::AnyEvent, and how to run it (and not to block). Seems to be the most common source of confusion.
  • try to catch people naively blocking in an event callback.
  • work around the perl filehandle bug issue in conjunction with older common::sense (as indirectly pointed out by ZSystem).
  • clarify the "not from signal handlers" section.

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/AnyEvent.pm
in Coro/Handle.pm
in Coro/LWP.pm
in Coro/Timer.pm