… | |
… | |
3 | TODO: should explore PerlIO::coroaio (perl leaks like hell). |
3 | TODO: should explore PerlIO::coroaio (perl leaks like hell). |
4 | TODO: maybe implement a default message channel, very much like Erlang's |
4 | TODO: maybe implement a default message channel, very much like Erlang's |
5 | actor model (which is cool in a lot of important aspects (failures!), |
5 | actor model (which is cool in a lot of important aspects (failures!), |
6 | but very lacking in others (higher level ipc)). |
6 | but very lacking in others (higher level ipc)). |
7 | |
7 | |
8 | 5.0 |
8 | TODO: Coro/Intro |
|
|
9 | - convert Coro::Timer, Coro::Select and Coro::Util to rouse API. |
|
|
10 | - Coro::Select did errornously dup the file descriptors |
|
|
11 | and didn't work with all AnyEvent backends. |
|
|
12 | - disassociate c contexts from coro objects - this is agruably more |
|
|
13 | correct, but mostly allows sharing of cctxs between coro and state |
|
|
14 | objects, for added memory savings and speed increases. |
|
|
15 | - bumped $Coro::POOL_RSS up to 32kb by default. |
|
|
16 | - no longer set the optype to OP_CUSTOM, as B::* understandably |
|
|
17 | doesn't like this very much (and we *are* a type of entersub). |
|
|
18 | - implement state cloning, just to prove that call/cc can be done. |
|
|
19 | - better 5.8.6 compatibility. |
|
|
20 | |
|
|
21 | 5.0 Thu Nov 20 10:35:05 CET 2008 |
9 | - NEW ARCHITECTURE: use the latest 4.x version if you experience |
22 | - NEW ARCHITECTURE: use the latest 4.x version if you experience |
10 | stability issues. |
23 | stability issues. |
11 | - bump API version to 7 - all dependents must be recompiled. |
24 | - bump API version to 7 - all dependents must be recompiled. |
12 | - removed timed_* functions - they were not being used anyways |
25 | - removed timed_* functions - they were not being used anyways |
13 | and should be replaced by a more generic mechanism - |
26 | and should be replaced by a more generic mechanism - |
14 | and were annoying to support anyways :) |
27 | and were annoying to support anyways :) |
15 | - removed SemaphoreSet's waiter method - use sem instead. |
28 | - removed SemaphoreSet's waiter method - use sem method instead. |
16 | - Coro::Semaphore->adjust didn't correctly wake up enough waiters. |
29 | - Coro::Semaphore->adjust didn't correctly wake up enough waiters. |
17 | - async_pool did free a scalar value twice |
30 | - async_pool did free a scalar value twice |
18 | ("Attempt to unreference..."). |
31 | ("Attempt to unreference..."). |
19 | - fix a disastrous bug in the readline optimisation |
|
|
20 | introduced in 4.801. |
|
|
21 | - fix a longstanding bug where calling terminate on a coro that |
32 | - fix a longstanding bug where calling terminate on a coro that |
22 | was waiting for a semaphore that was just becoming available |
33 | was waiting for a semaphore that was just becoming available |
23 | would cause a deadlock (semaphore would get into a state where |
34 | would cause a deadlock (semaphore would get into a state where |
24 | it was available but waiters were still blocked). |
35 | it was available but waiters were still blocked). |
25 | - calling throw on a coroutine that is waiting for a semaphore will |
36 | - calling throw on a coroutine that is waiting for a semaphore will |