ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Changes
Revision: 1.92
Committed: Thu Apr 1 02:41:05 2004 UTC (20 years, 1 month ago) by pcg
Branch: MAIN
Changes since 1.91: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

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