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