--- Coro/Changes 2007/10/02 23:16:23 1.249 +++ Coro/Changes 2007/10/08 00:47:19 1.267 @@ -1,15 +1,50 @@ Revision history for Perl extension Coro. -TODO: destroy gets only called on cancel: fix(?) TODO: should explore PerlIO::via::CoroCede and PerlIO::via::CoroAIO. TODO: maybe implement a default message channel, very much like Erlang (which is cool in a lot of important aspects (failures!), but very lacking in others (higher level ipc)). -3.8 +4.1 + - incompatible change: $SIG{__DIE__} and $SIG{__WARN__} will now + be local to each coro (see Coro::State). + - possibly bring back 5.10 compatibility (untested). + - work around stupid (and wrong) warning on 5.10 :(. + - overlay the saved state over the context stack. This saves + a few hundred bytes per coroutine on average and also + speeds up context switching a bit. + - further tune default stack sizes. + - (more) correctly calculate stack usage in coro_rss. + - Coro::Storable::blocking_* did not properly lock + resulting in races between coroutines. + - added Coro::Storable::guard. + +4.03 Sat Oct 6 21:24:00 CEST 2007 + - added Coro::throw method. + - minor code cleanups. + +4.02 Sat Oct 6 02:36:47 CEST 2007 + - fix a very minor per-coroutine memleak (a single codereference). + - fixed a bug where the currently in-use c context would be freed + prematurely (can happen only when programs change the stacksize + or use tracing). + - tracing can no longer keep a coro alive after it terminated. + - do static branch prediction in the common path for gcc. gives + about 2-5% speed improvement here. + +4.01 Fri Oct 5 22:10:49 CEST 2007 + - instead of recreating *a* standard output handle we simply + use STDOUT, which is faster and hopefully more robust. + +4.0 Fri Oct 5 12:56:00 CEST 2007 - 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}}. @@ -21,7 +56,7 @@ - refuse to transfer while compiling. - possibly support eval EXPR better now. - enable assembly per default on linux+bsd x86+amd64. - - all internal members are named _something for easier subclassing. + - all internal members were renamed _something for easier subclassing. - many minor tweaks. 3.63 Wed May 16 14:10:06 CEST 2007