--- cvsroot/Coro/Changes 2013/03/05 18:37:43 1.613 +++ cvsroot/Coro/Changes 2014/03/06 06:40:31 1.628 @@ -3,8 +3,49 @@ TODO: should explore PerlIO::coroaio (perl leaks like hell). TODO: channel->maxsize(newsize)? TODO: __GCC_HAVE_DWARF2_CFI_ASM +TODO: swap_sv, maybe add scope_swap_sv, andallow to unswap by repeat? +TODO: swap_sv not undone in pool - - manually copy existing __DIE__ and __WARN__ handlers so + - croak when cancel is called without a thread context. + +6.37 Tue Mar 4 13:27:33 CET 2014 + - *sigh*, removed leftover debugging code from debugging a + perl bug, of all things. + +6.36 Tue Mar 4 07:11:59 CET 2014 + - semaphores would not clear the destroy hook when interrupted + by ->throw, causing segfaults or worse. + - ->throw on a thread waiting for a semaphore did not acquire + the semaphore, but also didn't wake up other waiters, + possibly causing a deadlock. + - "FATAL: $Coro::IDLE blocked itself" will now use Carp::confess + to report a full stacktrace, which should help find out + where the actual call is. + - "atomically" destroy data in slf_destroy, because it is + the right thing to do, just in case. + - disable ecb.h libm dependency, to compile on ancient systems + or under adverse conditions. + +6.33 Mon Nov 18 11:26:27 CET 2013 + - do not crash when freeing padlists with holes (in 5.18). + - tentative SVt_BIND 5.19 port/fix. + +6.32 Tue Nov 5 15:35:35 CET 2013 + - use a new algorithm to derive padlists for perl 5.18. The old + one could lead to 0-pointer accesses inside perl (reported + by Darin McBride). + +6.31 Thu May 9 07:39:48 CEST 2013 + - Coro::AIO requests would crash if the thread was ready'd + while the request was ongoing. + +6.29 Wed May 8 02:55:18 CEST 2013 + - when an on_destroy handler destructs the coro currently being + destructed a perl scalar could be accessed after being freed, + likely causing a crash. + +6.28 Wed Mar 6 06:58:02 CET 2013 + - clean remnants of existing __DIE__ and __WARN__ handlers so they lose their magic and will not cause segfaults later (testcase by Andrey Sagulin). - improved Coro::State documentation a bit. @@ -465,7 +506,7 @@ - entersub is actually a UNOP, not a LOGOP (not a bugfix). 4.9 Sat Nov 8 17:45:27 CET 2008 - - (libcoro) did not preserve rbp with CORO_ASM (we are getting there). + - (libcoro) did not preserve rbp with CORO_ASM (we are getting there). - (libcoro) no longer leak threads in the experimental pthread backend, also speed it up considerably. - (libcoro) do not rely on makecontext passing void *'s unscathed. @@ -537,7 +578,7 @@ outdated software). Reported by John S. 4.744 Tue Jul 8 22:06:35 CEST 2008 - - correctly provide default DIE/WARN handlers as documented. + - correctly provide default DIE/WARN handlers as documented. - also overwrite PL_vtbl_sigelem.svt_clear, even though current implementations inside perl work fine for us. @@ -569,7 +610,7 @@ - fix typo in WSAEWOULDBLOCK. 4.72 Sun May 25 05:14:36 CEST 2008 - - tweak META.yaml a bit, unfortunately, there is no documented way + - tweak META.yaml a bit, unfortunately, there is no documented way to have optional dependencies with CPAN. doh :( - avoid running some tests on windows because they would fail due to perl bug (broken fork, broken pipes...). @@ -583,7 +624,7 @@ tcp sockets on windows. ugh.) 4.71 Sat May 24 20:01:27 CEST 2008 - - fix a bug in Coro::AnyEvent ("Usage: Coro::AnyEvent::_schedule()"). + - fix a bug in Coro::AnyEvent ("Usage: Coro::AnyEvent::_schedule()"). - take advantage of async name resolution of AnyEvent::Util. - work around brutal inet_aton override in Coro::LWP. - take advantage of the readyhook in Coro::EV, for smoother @@ -591,7 +632,7 @@ 4.7 Sun May 11 00:32:19 CEST 2008 - completely reworked the Coro manpage. - - added Coro::AnyEvent, generic event loop integration. + - added Coro::AnyEvent, generic event loop integration. - implement cancel, ready and kill commands in Coro::Debug. - document find_coro in Coro::Debug. - incompatible change: rename has_stack to has_cctx. @@ -725,7 +766,7 @@ - port to threaded perls. 4.1 Thu Oct 11 02:38:16 CEST 2007 - - incompatible change: $SIG{__DIE__} and $SIG{__WARN__} will now + - 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. @@ -807,7 +848,7 @@ Steinbrunner, which applied flawlessly). 3.6 Sat Apr 14 17:13:31 CEST 2007 - - added some bugfixes to get eg/myhttpd working again. + - added some bugfixes to get eg/myhttpd working again. - added Coro::Storable for often-cede'ing freeze/thaw. - try to do a clean exit when a coroutine calls exit (EXPERIMENTAL).