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

Changes for version 4.0 - 2007-10-05

  • incompatibly changed Coro::Storable::freeze.
  • major new feature: added Coro::Debug, for interactive coroutine debugging, tracing and much more.
  • major bug fix: unbelievable, but true: $_, $/ and many other "saved" variables actually weren't being saved. This has been fixed, of course, while increasing performance while losing all the save flags.
  • save flags are gone, and all the api functions dealing with them.
  • added Coro::Semaphore::adjust.
  • added Coro::Util::fork_eval.
  • added Coro::Storable::{nfreeze,blocking_{freeze,nfreeze}}.
  • added Coro::killall.
  • reduce initial stack sizes to allow for "micro-coroutines".
  • better async_pool resource management, moved parts of async_pool handling to XS (major speed improvement).
  • actually croak before modifying important data structures.
  • refuse to transfer while compiling.
  • possibly support eval EXPR better now.
  • enable assembly per default on linux+bsd x86+amd64.
  • all internal members were renamed _something for easier subclassing.
  • many minor tweaks.

Modules

coroutine process abstraction
truly asynchronous file and directrory I/O
message queues
various functions that help debugging Coro programs
non-blocking io with a blocking interface.
make LWP non-blocking - as much as possible
MakeMaker glue for the C-level Coro API
reader/write locks
a (slow but coro-aware) replacement for CORE::select
non-binary semaphores
hash of semaphores.
coroutine signals (binary semaphores)
non-blocking socket-io
manage coroutine-specific variables.
create and manage simple coroutines
offer a more fine-grained Storable interface
simple timer package, independent of used event loops
various utility functions.
do events the coro-way

Provides

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