--- Coro/Changes 2001/07/13 13:05:38 1.3 +++ Coro/Changes 2001/09/24 00:16:30 1.49 @@ -1,10 +1,117 @@ Revision history for Perl extension Coro. +0.5 + - small tweaks. + +0.49 Sun Sep 16 02:42:45 CEST 2001 + - changed some method calls to function calls for speed + inside Coro::Handle. + - make Coro::Handle use an array instead of a hash for + speed reasons. + - IRIX mystery solved: it's SGI's NT, after all: "standard, huh?". + sjlj and ucontext should now work. + - IRIX-specific port for libcoro. + - swapped order of accept results to match IO::Socket. + - changed getsock/peername to sock/peername to match IO::Socket. + - fixed a bug that caused segfault when returning to main task + under some circumstances. + - other bugfixes. + +0.45 Sun Sep 2 02:54:01 CEST 2001 + - new method Coro::Handle::timeout. + - corrected speling of set...name to get...name in Coro::Socket. + - Coro::Socket::accept now returns a Coro::Socket, not a Coro::Handle. + - Coro::Handle now supports fileno and FILENO. + - added eg/myhttpd, a web server. + - Coro::Socket now accepts numeric ports as well as "port(number)" + syntax. + - moved some scheduling primitives into xs code. more to come. + - new simple priority system. + - implemented Coro::Event using XS, almost four times faster! + - small memory corruption problem fixed (boy that was difficult). + +0.13 Wed Aug 8 16:53:07 CEST 2001 + - new method Coro::Handle::readline. + - added eg/lwp and Coro::Handle::autoflush, to make LWP work. + (see eg/lwp on how to make LWP non-blocking). + - renamed Coro::Socket::new_inet to new. + - added Coro::Util, some utility functions. + - die/eval now works better (still get annoying (but true ;) + "Callback called exit" messages). + - Coro::Handle now supports timeout, and Coro::Socket Timeout. + - much better Coro::Socket support. + +0.12 Fri Jul 27 04:19:01 CEST 2001 + - do not use mmap if neither MAP_ANON nor MAP_ANONYMOUS is defined. + - very experimental stack sharing algorithm. not 100% safe but + should work well in practise ;) + - added Coro::RWLock. + - Coro::Specific now works. + +0.11 Tue Jul 24 22:49:21 CEST 2001 + - added specialized hack for newer and older linux versions (fast). + - renamed Coro::Event::IO to Coro::Handle. + - new module Coro::Socket. + +0.1 Tue Jul 24 01:47:53 CEST 2001 + - release candidate 3. A rather new internal structure :( + - the great renaming: Damian Conway gave me a suitable replacement + for yield. + - added Coro/libcoro, a portable coroutine implementation for C + (not even perl-dependent!!!), which can be used by Coro::State. + - renamed SAVE_DEFSV (on xs-level only) to avoid symbol clash in + perl-5.6. + - new function Coro::Event::idle. + - the idle process is now overriden + by default in Coro::Event. + - Coro::Channel now enforces the size. + - canceling events now works in all cases. + - Coro state now include $_ and $@. + - yet another bug workaround that I do not really understand :( + - new module Coro::Event::IO (very undocumented) to do + non-blocking i/o. + - performance tuning. + +0.08 Thu Jul 19 06:13:25 CEST 2001 + - release candidate 2 (new functionality). + - add Coro::State::flush function. + - transfer now supports a flags value (mostly for speed ATM). + - might compile and work in the presence of threads now. + - continuations have a saner syntax. + - no more memleaks. + +0.07 Tue Jul 17 17:40:18 CEST 2001 + - release candidate 1 ;) + - slightly nicer code. + - fixed a scheduling bug in Coro::Event. + +0.06 Tue Jul 17 04:23:24 CEST 2001 + - ok, I found the showstopper - the same sub must not be + re-entered in two different coroutines, otherwise => crash. I + see no easy solution to this problem, except by walking the call + chaing and saving/restoring the cv's, which is what I do now. + - memory leaks still latent, especially at thread termination. + - Coro::Event now works (haha). + +0.05 Sun Jul 15 17:32:20 CEST 2001 + - fixed a few issues in Coro::Event. + - I forgot to include Coro::Event in 0.04 :(:(:( + +0.04 Sun Jul 15 05:24:59 CEST 2001 + - @_ is now properly localized. + - Coro::State is now easier subclassable. + - Coro::Cont now coroutine-aware. + - Coro::Specific is a low-overhead module to create + coroutine-specific vars. + - Coro::Event provides a simple interface to Event. + 0.03 Fri Jul 13 14:51:52 CEST 2001 - - slight internal architecture change: Coro:: is now + - transfer() now implemented in XS (beware). + - new module Coro::Cont for really faked continuations. + - big internal architecture changes: Coro::State is now really low-level and can thus be used to implement other - interesting things (but better use Coro::Process for - interoperability ;). + interesting things, While "Coro::" implements a process-like + model. Still crude and subject to change. - $_ and $@ are no longer being localized. 0.02 Tue Jul 10 01:38:17 CEST 2001