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

Changes for version 6.36 - 2014-03-04

  • semaphores would not clear the destroy hook when interrupted by ->throw, causing segfaults or worse.
  • ->throw on a thread waiting for a semaphore did not acquire the semaphore, but also didn't wake up other waiters, possibly causing a deadlock.
  • "FATAL: $Coro::IDLE blocked itself" will now use Carp::confess to report a full stacktrace, which should help find out where the actual call is.
  • "atomically" destroy data in slf_destroy, because it is the right thing to do, just in case.
  • disable ecb.h libm dependency, to compile on ancient systems or under adverse conditions.

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