The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 5.13 - 2008-12-15

  • EXPERIMENTAL: implement dynamic winds (on_enter/on_leave).
  • don't set diehook to C<undef> but instead to NULL, to avoid spurious warnings.
  • fix a lot of bugs in Coro::SemaphoreSet.
  • Coro::SemaphoreSet will less often create a semaphore needlessly.
  • add Coro::SemaphoreSet::count and wait methods.
  • take advantage of the new Guard module.
  • deprecate Coro::guard.
  • try to fix the dreaded 01_unblock tests once more. I hate it when testsuites need more fixing than the code they are supposed to test.
  • croak in more cases when a required callback isn't resolvable.
  • fix some minor issues in Coro::State->call/eval.
  • use current coroutine context instead of a temporary one when temporarily switching to another coroutine.
  • do not call C-level on_destroy handlers during global destruction, to avoid needless segfaults.

Documentation

Modules

the only real threads in perl
truly asynchronous file and directory I/O
integrate coroutines 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
coroutine 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