--- Coro/Changes 2007/10/05 20:11:25 1.256 +++ Coro/Changes 2007/10/10 03:24:40 1.274 @@ -5,9 +5,46 @@ (which is cool in a lot of important aspects (failures!), but very lacking in others (higher level ipc)). +4.1 + - incompatible change: $SIG{__DIE__} and $SIG{__WARN__} will now + be local to each coro (see Coro::State). + - incompatible change: for very deep reasons, cede and cede_notself + cannot return anything, so nothing will be returned. + - 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. + - stopping to trace a coroutine could destroy the cctx of + an unrelated coroutine. + - explain the relationship between Perl and C coroutines in + more detail in Coro::State. + - Coro::Util::inet_aton did not short-circuit dotted quad forms, + causing a fork per resolve. This also affected Coro::Socket. + - switch to a separate stack in $coro->call/eval to avoid + invalidating pointers. + +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 - - use a different, less descriptive but hopefully more robust way - to create the stdout glob for a newly created coroutine. + - 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.