--- Coro/Changes 2003/04/29 17:35:45 1.77 +++ Coro/Changes 2006/11/24 00:09:08 1.152 @@ -1,8 +1,155 @@ Revision history for Perl extension Coro. -0.652 +TODO: check wether stack-sharing is still effective +TODO: more effective stack sharing by having one "default stack" for "simple" coroutines? +TODO: verify exception frame changes and force stack copies? + + - Coro::Event could cause livelocks if it was used but + Event watchers were used directly. + - Coro::Event should be cleaner and more efficient now. + - minor documentation cleanup. + - very minor optimisations and cleanups. + +2.5 Tue Nov 7 12:22:33 CET 2006 + - made Coro::Util, Coro::Select, Coro::Handle and Coro::Socket + use AnyEvent, moved them to Coro/. + - added Coro::LWP which contains all the uglyness required to + make LWP non-blocking. + - should work with perl 5.9.x now (Andreas König made me do it). + - fixed another bug in Coro::Select when the timeout was undef. + - reuse PL_start_env for all coros, saves some memory per coroutine. + - manage PL_top_env differently, hopefully to avoid panic: top_env. + - timeout argument was not properly used in Coro::Socket. + - allow limited forms of subclassing in Coro::Handle/Coro::Socket. + - emulate undocumented(!) functionality of IO::Socket required + by LWP(!!). + - updated eg/lwp to work with newer lwp's. + - remove "FATAL: uncaught exception" prefix. Coroutines that die + kill the whole process, just as exceptions in the main "coroutine" + did already. + +2.1 Wed Nov 1 23:01:13 CET 2006 + - fix a long-standing bug in Coro::Select where select with + zero timeout would instead change the current default filehandle. + - use a simpler and hopefully more robust way to clone padlists + (uses less memory and a perl function instead of our own). + - coro can now create a stack guard area on many architectures. + - Coro::AIO properly reexports additional functions from IO::AIO. + - updated libcoro with a workaround for OS X, + pach and testing by Michael Schwern. + +2.0 Tue Oct 24 05:47:17 CEST 2006 + - support additional aio requests in Coro::AIO. + +1.9 (never properly released due to a glitch) + +1.8 Thu Feb 2 00:59:06 CET 2006 + - applied suggested patch by SAMV to avoid problems during stupid + mark & sweep gc run. + - applied patch by Scott Walters for 5.9.3 compatibility. + +1.7 Tue Dec 27 01:41:58 CET 2005 + - added Coro::AIO, a thin wrapper around IO::AIO. + - improved Makefile.PL explanations. + +1.6 Mon Dec 12 21:30:05 CET 2005 + - additionally save PM_curpm might fix as-of-yet + unseen problems with regex matches being attributed to the + wrong package. + - add t/10_bugs.t, which currently checks against imho broken + perls that use 0.26MB of stack space per Perl_magic_get + invocation (newer linuxes) as opposed to the 0.0002MB perl + normally uses. + - make stacksize configurable for the ultimate debian experience. + +1.51 Mon Dec 12 18:48:36 CET 2005 + - remove debugging warn() accidentally left in Coro::Select. + +1.5 Tue Nov 29 13:32:44 CET 2005 + - use Coro::Event inside Coro::Select to avoid spurious deadlocks. + - fix Coro::Select 'select'. + - strict'ify some modules. + - libcoro errornously restored the SIGUSR2 handler to SIGUSR1. + - use XSLoader in selected modules. + - remove some 5.6 compatibility cruft. + +1.4 Tue Sep 6 00:11:05 CEST 2005 + - libcoro did not take into account the trampoline on amd64, + when 'l'inux method was used. + +1.31 Tue Aug 30 23:31:33 CEST 2005 + - some portability fixes/workarounds. + +1.3 Sat Aug 20 03:08:56 CEST 2005 + - no code changes. module seems to work fine. + - improve Coro::State docs, remove reference to nonexisting + Coro::State::flush method. + - no longer autodetect windows, present it as an option instead. + +1.2 Mon May 16 02:00:55 CEST 2005 + - included libcoro.c earlier in State.xs, might improve portability. + - use a faster and possibly more stable Coro::Cont implementation. + - accept x86_64 in addition to amd64 for optimized linux-amd64 support. + - fix bugs Coro::SemaphoreSet that could cause locks never to be freed. + - fix bugs in CoroAPI.h and document it in Coro::MakeMaker. + +1.11 Thu Mar 3 18:00:52 CET 2005 + - change of contact address. + +1.1 Tue Feb 22 20:51:16 CET 2005 + - support [l]inux method on amd64. + - allow some context switches while compiling/eval'ing. + +1.0 Tue Aug 10 03:47:27 CEST 2004 + - Event 0.89 fixes the bug again. + - fix the remaining(??) memleak. I didn't free the cache-AV for + padlists, so one AV per created anon-sub leaked. + +0.97 Fri May 14 15:23:32 CEST 2004 + - remove stupid gcc extension that was an experiment only anyway. + +0.96 Thu May 13 18:09:29 CEST 2004 + - tell people if they have yet another broken Event variant. + - made Coro to work _better_ with threads (it seems that, as long + as you use Coros in one thread only everything will work fine. + Looking at the perl source the problem might be missing locking + between Coro and some perl internal routines. That's not easily + fixable). + - (hopefully) got rid of the static xnext inside transfer. + +0.95 Sun Feb 15 03:20:28 CET 2004 + - removed Coro::State::flush, implemented a new and much + faster caching mechanism by attaching magic to the CV. + - a memleak with (real) closures remains. + - dramatically reduced size of stacks to 65536 (linux/x86), after + observing that even myhttpd never had more than a kilobyte + of stack in use (stack is still only physically allocated in + pagesize increments for systems suporting mmap). + - fix for a "cygwin-64" architecture added, proposed by Stefan Traby. + - fix for threaded perl. + +0.9 Sun Nov 23 04:32:39 CET 2003 + - fix a few very hard to track down but (of course) stupid + memory leaks. + - stringify version number to avoid locale problems :(. + - perl 5.9.0 does not have SvPADBUSY, reported by Scott Walters, + hopefully ignoring it "just works". + +0.8 Wed Nov 5 19:38:40 CET 2003 + - port to perl5.005_03, but only 5.8.x+ is supported! + - honor LocalAddr even without LocalPort in Coro::Socket. + +0.7 Tue May 27 03:12:38 CEST 2003 + - the version jump indicates some level of testing, not gobs + of new features. + - uh... I found the prompt function in ExtUtils::MakeMaker. + Highly correct stuff, that is... + - fixed(?) a bug with die's in coroutines causing "panic: top_env". + the fix is not well understood by the author, so beware :(. + +0.652 Thu May 8 02:54:46 CEST 2003 - Applied patch by Slaven Rezic to set default to "s" on FreeBSD, - 'cause they forgot to implement some standard unix functions... + cause version 4 doesn't have ucontext. - Benjamin Reed reported that setjmp works fine on darwin, so preselect it.