ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Changes
Revision: 1.89
Committed: Sat Feb 14 13:01:55 2004 UTC (20 years, 3 months ago) by pcg
Branch: MAIN
Changes since 1.88: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 Revision history for Perl extension Coro.
2    
3 pcg 1.87 0.95 Fri Dec 12 20:50:57 CET 2003
4 pcg 1.86 - removed Coro::State::flush, implemented a new and much
5     faster caching mechanism by attaching magic to the CV.
6 pcg 1.87 - a memleak with (real) closures remains.
7 pcg 1.88 - dramatically reduced size of stacks to 65536 (linux/x86), after
8     observing that even myhttpd never had more than a kilobyte
9     of stack in use (stack is still only physically allocated in
10     pagesize increments for systems suporting mmap).
11 pcg 1.89 - fix for a "cygwin-64" architecture added, proposed by Stefan Traby.
12 pcg 1.86
13 pcg 1.85 0.9 Sun Nov 23 04:32:39 CET 2003
14 pcg 1.84 - fix a few very hard to track down but (of course) stupid
15     memory leaks.
16     - stringify version number to avoid locale problems :(.
17 pcg 1.85 - perl 5.9.0 does not have SvPADBUSY, reported by Scott Walters,
18     hopefully ignoring it "just works".
19 pcg 1.84
20 pcg 1.83 0.8 Wed Nov 5 19:38:40 CET 2003
21     - port to perl5.005_03, but only 5.8.x+ is supported!
22 pcg 1.82 - honor LocalAddr even without LocalPort in Coro::Socket.
23    
24 root 1.81 0.7 Tue May 27 03:12:38 CEST 2003
25     - the version jump indicates some level of testing, not gobs
26     of new features.
27 root 1.80 - uh... I found the prompt function in ExtUtils::MakeMaker.
28     Highly correct stuff, that is...
29 root 1.81 - fixed(?) a bug with die's in coroutines causing "panic: top_env".
30     the fix is not well understood by the author, so beware :(.
31 root 1.80
32 root 1.79 0.652 Thu May 8 02:54:46 CEST 2003
33 root 1.76 - Applied patch by Slaven Rezic to set default to "s" on FreeBSD,
34 root 1.78 cause version 4 doesn't have ucontext.
35 root 1.77 - Benjamin Reed reported that setjmp works fine on darwin,
36     so preselect it.
37 root 1.76
38 root 1.75 0.651 Sat Mar 29 15:00:23 CET 2003
39     - fix a bug in Coro::Handle where some bytes could get lost
40     on reading, reported by jason@nichego.net.
41 root 1.74
42 root 1.73 0.65 Sun Mar 23 00:08:26 CET 2003
43 root 1.72 - added a README.linux-glibc.
44     - new module Coro::Select.
45     - also save/restore PL_comppad, fixes segfaults with 5.8.1.
46     (I never claimed that I know what I am doing ;).
47 root 1.73 - set default to setjmp/longjmp on non-x86-linux.
48 root 1.72
49 root 1.71 0.6 Thu Nov 21 11:09:06 CET 2002
50     - made lazy context switching the default.
51     - fixed the bug where SemaphoreSet::guard
52     was the same as timed_guard and timed_guard was missing.
53     - fix a memleak in Coro::Timer.
54     - reclassified context sharing as not experimental.
55    
56 root 1.70 0.534 Sun Apr 14 03:05:12 CEST 2002
57 root 1.69 - fixed backspace => tab in header parsing (myhttpd).
58 root 1.70 - added eg/readline, for elmex.
59     - Coro::Event now calls ->start on first call instead of
60     ->again, which created wrong timeouts for the first ->next.
61     - fixed a bug where Coro::Socket returned a closed socket instead
62     of nothing on ECONNREFUSED and similar error conditions.
63 root 1.69
64 root 1.68 0.533 Mon Feb 18 18:49:40 CET 2002
65     - adapt to finally working Event-0.85.
66     - fixed buggy event initialization (trapped under windows, but how
67     could it possibly have worked anywhere?)
68    
69 root 1.67 0.532 Wed Jan 16 02:45:32 CET 2002
70 root 1.66 - removed the reference to pp_entersub, might work on
71     (some) win32 perls now (testsuite works under cygwin,
72     without Event, which freezes).
73 root 1.65
74 root 1.64 0.531 Mon Dec 10 22:18:44 CET 2001
75 root 1.63 - Fixed a bug in SemaphoreSet::timed_down.
76    
77 root 1.64 0.53 Tue Nov 27 21:11:13 CET 2001
78 root 1.60 - some tests for Event.
79 root 1.61 - slightly different internal architecture to get refcnt into the object
80     and not the reference. might fix a few bugs, certainly did introduce
81     new ones.
82     - Coro::Timer (independent of Event).
83 root 1.62 - new timed_wait functions for Coro::Signal, Semaphore, SemaphoreSet.
84 root 1.60
85 root 1.64 0.52 Tue Nov 6 21:36:18 CET 2001
86 root 1.58 - ported to cygwin (trivial).
87     patch by Gerrit P. Haase <gp@familiehaase.de>.
88     - small setjmp code fix by Sullivan.DanielJ@epamail.epa.gov.
89    
90 root 1.64 0.51 Thu Nov 1 20:39:01 CET 2001
91 root 1.54 - terminate/cancel now work properly (otherwise termination
92     could cause a "next coroutine is not and contains not..."
93     error.
94 root 1.55 - added Coro::Socket::shutdown.
95 root 1.56 - Coro::Event::loop no is the same as Event::loop.
96     - implemented terminate with args + join.
97 root 1.54
98 root 1.64 0.5 Fri Sep 28 16:15:35 CEST 2001
99 root 1.53 - fixed "print" on a Coro::Handle. The print method worked.
100 root 1.50 - small tweaks (seem to reduce memory consumption a lot)
101     in various modules.
102     - splendid use of "no warnings" scattered throughout.
103 root 1.52 - added Coro::Handle::rbuf, fixed Coro::Handle::fh.
104 root 1.48
105 root 1.47 0.49 Sun Sep 16 02:42:45 CEST 2001
106 root 1.43 - changed some method calls to function calls for speed
107     inside Coro::Handle.
108 root 1.44 - make Coro::Handle use an array instead of a hash for
109     speed reasons.
110     - IRIX mystery solved: it's SGI's NT, after all: "standard, huh?".
111     sjlj and ucontext should now work.
112     - IRIX-specific port for libcoro.
113 root 1.45 - swapped order of accept results to match IO::Socket.
114 root 1.46 - changed getsock/peername to sock/peername to match IO::Socket.
115     - fixed a bug that caused segfault when returning to main task
116     under some circumstances.
117     - other bugfixes.
118 root 1.43
119 root 1.42 0.45 Sun Sep 2 02:54:01 CEST 2001
120 root 1.36 - new method Coro::Handle::timeout.
121     - corrected speling of set...name to get...name in Coro::Socket.
122     - Coro::Socket::accept now returns a Coro::Socket, not a Coro::Handle.
123     - Coro::Handle now supports fileno and FILENO.
124     - added eg/myhttpd, a web server.
125 root 1.37 - Coro::Socket now accepts numeric ports as well as "port(number)"
126     syntax.
127 root 1.38 - moved some scheduling primitives into xs code. more to come.
128 root 1.39 - new simple priority system.
129 root 1.40 - implemented Coro::Event using XS, almost four times faster!
130 root 1.41 - small memory corruption problem fixed (boy that was difficult).
131 root 1.36
132 root 1.35 0.13 Wed Aug 8 16:53:07 CEST 2001
133 root 1.31 - new method Coro::Handle::readline.
134 root 1.34 - added eg/lwp and Coro::Handle::autoflush, to make LWP work.
135     (see eg/lwp on how to make LWP non-blocking).
136 root 1.31 - renamed Coro::Socket::new_inet to new.
137 root 1.32 - added Coro::Util, some utility functions.
138 root 1.33 - die/eval now works better (still get annoying (but true ;)
139     "Callback called exit" messages).
140 root 1.34 - Coro::Handle now supports timeout, and Coro::Socket Timeout.
141     - much better Coro::Socket support.
142 root 1.31
143     0.12 Fri Jul 27 04:19:01 CEST 2001
144 root 1.29 - do not use mmap if neither MAP_ANON nor MAP_ANONYMOUS is defined.
145 root 1.34 - very experimental stack sharing algorithm. not 100% safe but
146 root 1.28 should work well in practise ;)
147 root 1.30 - added Coro::RWLock.
148 root 1.31 - Coro::Specific now works.
149 root 1.28
150     0.11 Tue Jul 24 22:49:21 CEST 2001
151 root 1.27 - added specialized hack for newer and older linux versions (fast).
152     - renamed Coro::Event::IO to Coro::Handle.
153     - new module Coro::Socket.
154    
155 root 1.26 0.1 Tue Jul 24 01:47:53 CEST 2001
156 root 1.23 - release candidate 3. A rather new internal structure :(
157 root 1.24 - the great renaming: Damian Conway gave me a suitable replacement
158     for yield.
159 root 1.23 - added Coro/libcoro, a portable coroutine implementation for C
160 root 1.22 (not even perl-dependent!!!), which can be used by Coro::State.
161 root 1.20 - renamed SAVE_DEFSV (on xs-level only) to avoid symbol clash in
162     perl-5.6.
163 root 1.16 - new function Coro::Event::idle.
164     - the idle process is now overriden
165     by default in Coro::Event.
166 root 1.17 - Coro::Channel now enforces the size.
167 root 1.18 - canceling events now works in all cases.
168 root 1.19 - Coro state now include $_ and $@.
169     - yet another bug workaround that I do not really understand :(
170 root 1.21 - new module Coro::Event::IO (very undocumented) to do
171     non-blocking i/o.
172 root 1.25 - performance tuning.
173 root 1.16
174 root 1.15 0.08 Thu Jul 19 06:13:25 CEST 2001
175 root 1.14 - release candidate 2 (new functionality).
176 root 1.13 - add Coro::State::flush function.
177     - transfer now supports a flags value (mostly for speed ATM).
178     - might compile and work in the presence of threads now.
179 root 1.14 - continuations have a saner syntax.
180 root 1.19 - no more memleaks.
181 root 1.13
182 root 1.12 0.07 Tue Jul 17 17:40:18 CEST 2001
183     - release candidate 1 ;)
184     - slightly nicer code.
185     - fixed a scheduling bug in Coro::Event.
186    
187 root 1.11 0.06 Tue Jul 17 04:23:24 CEST 2001
188     - ok, I found the showstopper - the same sub must not be
189 root 1.9 re-entered in two different coroutines, otherwise => crash. I
190     see no easy solution to this problem, except by walking the call
191     chaing and saving/restoring the cv's, which is what I do now.
192 root 1.11 - memory leaks still latent, especially at thread termination.
193     - Coro::Event now works (haha).
194 root 1.9
195 root 1.8 0.05 Sun Jul 15 17:32:20 CEST 2001
196     - fixed a few issues in Coro::Event.
197     - I forgot to include Coro::Event in 0.04 :(:(:(
198    
199 root 1.7 0.04 Sun Jul 15 05:24:59 CEST 2001
200 root 1.5 - @_ is now properly localized.
201 root 1.4 - Coro::State is now easier subclassable.
202     - Coro::Cont now coroutine-aware.
203     - Coro::Specific is a low-overhead module to create
204     coroutine-specific vars.
205 root 1.6 - Coro::Event provides a simple interface to Event.
206 root 1.4
207 root 1.3 0.03 Fri Jul 13 14:51:52 CEST 2001
208 root 1.4 - transfer() now implemented in XS (beware).
209     - new module Coro::Cont for really faked continuations.
210     - big internal architecture changes: Coro::State is now
211 root 1.3 really low-level and can thus be used to implement other
212 root 1.4 interesting things, While "Coro::" implements a process-like
213     model. Still crude and subject to change.
214 root 1.3 - $_ and $@ are no longer being localized.
215    
216 root 1.2 0.02 Tue Jul 10 01:38:17 CEST 2001
217     - implemented "async" attribute.
218     - $_ and $@ are now localized.
219     - added Coro::Channel.
220     - more testcases, still no docs.
221    
222 root 1.1 0.01 Tue Jul 3 02:18:41 CEST 2001
223     - original version; copied from Convert::Scalar.
224