--- Coro/Changes 2004/02/14 13:01:55 1.89 +++ Coro/Changes 2006/11/23 23:54:02 1.151 @@ -1,6 +1,138 @@ Revision history for Perl extension Coro. -0.95 Fri Dec 12 20:50:57 CET 2003 +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? +#2 0x00002ac4a63f2622 in api_schedule () at State.xs:895 +#3 0x00002ac4a63f26a9 in XS_Coro_schedule (cv=0x911700) at State.xs:1095 +#4 0x00000000004941b8 in Perl_pp_entersub () at pp_hot.c:2869 +#5 0x0000000000489fee in Perl_runops_standard () at run.c:37 +#6 0x000000000041dec7 in Perl_call_sv (sv=0xbfd8ea0, flags=) at perl.c:2806 +#7 0x00002ac4a6606ad3 in pe_event_invoke (ev=0x1ada6e0) at c/ev.c:308 +#8 0x00002ac4a6608878 in one_event (tm=60) at c/queue.c:91 +#9 0x00002ac4a6608f4f in XS_Event_one_event (cv=) at c/queue.c:234 +#10 0x00000000004941b8 in Perl_pp_entersub () at pp_hot.c:2869 +#11 0x0000000000489fee in Perl_runops_standard () at run.c:37 +#12 0x00000000004c4287 in S_docatch (o=) at pp_ctl.c:2566 +#13 0x0000000000489fee in Perl_runops_standard () at run.c:37 +#14 0x00000000004c4287 in S_docatch (o=) at pp_ctl.c:2566 +#15 0x0000000000489fee in Perl_runops_standard () at run.c:37 +#16 0x000000000041e38c in Perl_call_sv (sv=, flags=140) at perl.c:2806 +#17 0x00002ac4a63f1d72 in setup_coro (arg=0x881d80) at State.xs:620 +#18 0x00002ac4a63f28b7 in coro_init () at libcoro/coro.c:78 +#19 0x0000000000000000 in ?? () + + - minor documentation cleanup. + - verys 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. @@ -9,6 +141,7 @@ 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