--- Coro/Changes 2009/06/23 23:40:06 1.499 +++ Coro/Changes 2010/07/27 14:42:34 1.540 @@ -1,12 +1,109 @@ Revision history for Perl extension Coro. TODO: should explore PerlIO::coroaio (perl leaks like hell). -TODO: maybe implement a default message channel, very much like Erlang's - actor model (which is cool in a lot of important aspects (failures!), - but very lacking in others (higher level ipc)). TODO: unready_all TODO: myhttpd header parsing TODO: channel->maxsize(newsize)? +TODO: http://www.microsoft.com/msj/archive/s2ce.aspx + + - "ported" libcoro to C++. + +5.23 Mon May 17 18:50:42 CEST 2010 + - be more resistant to ordering changes when initialising + Coro::AnyEvent, Coro::EV and Coro::Event (reported by Matthias + Waldorf). + - document that perl 5.12 deliberately removed support for cloning. + +5.22 Wed Apr 14 03:55:35 CEST 2010 + - correctly return udnef on errors in Coro::Handle::read/write + (testcase by Marc Mims). + - convert Coro::Util into a "perl compatibility wrapper" - the functions + are less useful now, but are drop-in replacements for existing + functions, listing better alternatives in the documentation. This also + fixes a bug in Coro::LWP which naively substituted Socket::inet_aton + with Coro::Util::inet_aton. + - do not override $Coro::idle unconditionally in Coro.pm, as other + modules could have provided their own idle coro already + (for exmaple, Coro::AnyEvent). + - fix Coro::Util::gethost* functions. + - Coro::Timer corretcly exports it's symbols (reported by Hideki Yamamura). + +5.21 Wed Dec 16 07:19:51 CET 2009 + - 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. + +5.2 Sun Oct 4 14:54:24 CEST 2009 + - Coro::Storable destroyed the prototypes of the functions it wrapped. + - export rouse_cb and rouse_wait by default now. + - fix various prototype mismatches in Coro::AnyEvent and Coro::Handle. + - new method $state->swap_sv. + - added section on "windows process emulation" to the manpage, + after a not-so-fruitful (nor-friendly) "discussion" with chip + salzenberg (discussion implies arguments, but his only arguments + were ad-hominems, one wonders why he started it in the first + place). I hope this explains it well enough for him to understand, + and maybe well enough for others to understand. + - use common::sense everywhere now. + - idle callbacks are no longer supported, use idle coros instead. + - print a thread listing when a deadlock is detected. + +5.17 Sat Aug 22 23:09:31 CEST 2009 + - work around a bug in the perl debugger causing crashes + when running under the debugger by marking _pool_handler as nodebug. + - speed up Coro::async considerably. + - try some hacks to get netbsd to work "more often" - their broken + setjmp/longjmp, ucontext *and* phtreads are really hard on Coro. + - convert Coro to AE 5.0 API. + +5.162 Tue Jul 28 04:04:03 CEST 2009 + - perl 5.8.2 is now minimum requirement. + - skip t/19_handle.t on broken windows perls. + +5.161 Wed Jul 22 04:47:38 CEST 2009 + - Coro::AnyEvent::poll could have a different prototype when EV was + used as backend (analyzed by Tatsuhiko Miyagawa). + - Coro::AnyEvent errornously initialised the event loop when loaded, + not on demand. + - try to workaround rare */t/01_unblock.t failures. + +5.16 Tue Jul 21 01:44:37 CEST 2009 + - Coro::AnyEvent failed to hook into the event loop + when no threads had been readied between detecting + the event loop and actually running it. + - considerably speed up Coro::Select by taking avdantage + of AnyEvent > 4.8 and some other optimisations. + - implement paragraph readline mode in Coro::Handle + (based on patches by Zsbán Ambrus). + - replace WSAEINPROGRESS by WSAEWOULDBLOCK (reported + and analyzed by Yasuhiro MATSUMOTO). + - clarified libcoro license and copyright. + - someone stole my EXTRA_META!!! + - implement Coro::Select::patch_pp_sselect and it's brother, + for hardcode select overriding. + +5.151 Mon Jul 6 05:41:57 CEST 2009 + - backport to windows process emulation code again (patch by + Yasuhiro MATSUMOTO). + - slightly update Coro::MakeMaker. + +5.15 Tue Jun 30 10:28:06 CEST 2009 + - deprecate Coro::Socket, document how to get ipv6 support via + AnyEvent::Socket instead. + - implement signal->wait ($cb) interface, similar to semaphores. + - work around SvOK not supporting getmagic, so we have to getmagic + to test for undef :/ (reported by Matthias Waldorf). + - load Coro::AnyEvent in all modules using AnyEvent. + - work around perl corrupting our internal data structures, + reported by Tokuhiro Matsuno. + - enable per-coroutine real and cpu time gathering + (Coro::State::enable_times). 5.14 Wed Jun 24 01:37:48 CEST 2009 - provide explicit functions to "cede" to the event loop in Coro::AnyEvent,