--- Coro/Changes 2008/11/19 05:52:42 1.437 +++ Coro/Changes 2008/11/20 07:12:41 1.449 @@ -5,10 +5,6 @@ actor model (which is cool in a lot of important aspects (failures!), but very lacking in others (higher level ipc)). -TODO: testcancel -TODO: guard as SLF - to avoid deadlocks. - - avoid deadlock in Coro::Channel if maxsize == 1 (Richard Hundt). - 5.0 - NEW ARCHITECTURE: use the latest 4.x version if you experience stability issues. @@ -20,6 +16,8 @@ - Coro::Semaphore->adjust didn't correctly wake up enough waiters. - async_pool did free a scalar value twice ("Attempt to unreference..."). + - fix a disastrous bug in the readline optimisation + introduced in 4.801. - fix a longstanding bug where calling terminate on a coro that was waiting for a semaphore that was just becoming available would cause a deadlock (semaphore would get into a state where @@ -28,7 +26,10 @@ no longer make it acquire the semaphore (and thus leak a count). - perl's process emulation is now not even theoretically supported anymore. - - new functions Coro::rouse_cb and Coro::rouse_wait. + - new functions Coro::rouse_cb and Coro::rouse_wait for easier + conversion of callback-style to blocking-style. + - new methods $coro->schedule_to and ->cede_to, to specifically + schedule or cede to a specific coroutine. - new function Coro::Semaphore::wait. - use named constants in Coro::Channel (Richard Hundt). - directly patch the entersub opcode calling SLF functions (cede, @@ -55,11 +56,23 @@ - used new SLF interface to reimplement Coro::Signal gaining some unknown (because I was too lazy), but certain, speedup, and also making signals reliable for the first time. + - used new SLF interface and other optimisations to speed up async_pool + by a factor of two. It also doesn't rely on perl's exception mechanism + to exit anymore. The overhead for terminating an async_pool, coro over + a normal async is now very small. + - sped up coroutine creation/destruction by 40%. - forgot to include Coro/libcoro/README in the dist for all these years. - work around a freebsd pthreads bug (manual testcancel is required as pthread_cond_wait isn't a cancellation point on freebsd). + - use new rouse functions to speed up and simplify Coro::BDB. + - make "prefer perl native functions" work with threaded perls. + - condense Coro::Debug ps output, hint at v and w flags. - (libcoro) lots of minor cleanups and portability improvements. +4.914 Wed Nov 19 12:54:18 CET 2008 + - fix a disastrous bug in the readline optimisation + introduced in 4.801. + 4.913 Sat Nov 15 07:58:28 CET 2008 - async_pool did free a scalar value twice ("Attempt to unreference...").