Changes for version 6.09 - 2012-10-06
- Coro::EV I/O watchers were not interruptible by exceptions (Coro::State::throw) (testcase by sten).
- ->throw now puts threads into the ready queue, as this seems to be expected by existing code, and code that doesn't cope with spurious wakeups needs fixing anyway.
- use fd -1 in mmap.
- cast I32 to int in error message printf.
- warn about broken so-called "hardened" kernels.
- 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