--- Coro/Changes 2008/12/15 00:28:30 1.480 +++ Coro/Changes 2009/06/29 06:14:23 1.504 @@ -4,9 +4,56 @@ TODO: maybe implement a default message channel, very much like Erlang's actor model (which is cool in a lot of important aspects (failures!), but very lacking in others (higher level ipc)). +TODO: unready_all +TODO: myhttpd header parsing +TODO: channel->maxsize(newsize)? -TODO: dynamic wind, test and document -5.13 + - deprecate Coro::Socket, document how to get ipv6 support via + AnyEvent::Socket instead. + - implement signal->wait ($cb) interface, similar to semaphores. + - work around SvOK not supporting getmagic, so we have to getmagic + to test for undef :/ (reported by Matthias Waldorf). + - load Coro::AnyEvent in all modules using AnyEvent. + - work around perl corrupting our internal data structures, + reported by Tokuhiro Matsuno. + - enable per-coroutine real and cpu time gathering + (Coro::State::enable_times). + +5.14 Wed Jun 24 01:37:48 CEST 2009 + - provide explicit functions to "cede" to the event loop in Coro::AnyEvent, + as this seems to have been a difficult concept (poll, sleep, idle, + idle_upto). + - add Coro::AnyEvent::readable/writable functions. + - clarify Coro::EV/Event/AnyEvent manpages. + - free per-thread global scalars in the thread calling ->cancel, to + avoid crashes when $_, $@ etc., are magical but some of those + had already been freed. + - "unexperimentalise" the callback interface for Coro::Semaphore. + - speed up ready queue management/context switching by using a linked + list instead of an array (~5-10%). + - implement "watch" command in Coro::Debug shells. + - for fun, implement time-slicing as an example in the manpage. + - if AnyEvent detects EV or Event, but we don't have Coro::EV or + Coro::Event, use the normal AnyEvent handling instead of dieing + (the same is true for Coro::Handle). + - properly document Coro::EV::timed_io_once. + - avoid unneccessary ->cancel calls in Coro::Handle. + - maybe make it work on mingw32 with win32 backend + (based on patch by Yasuhiro Matsumoto). + +5.132 Fri May 29 09:00:39 CEST 2009 + - do not keep a reference to the argument itself in + Coro::Semaphore::guard, as it could change later. + - support SO_RCVBUF/SO_SNDBUF nonstandard Coro::Socket options, + should support a prepare callback. + +5.131 Mon Mar 16 23:20:37 CET 2009 + - implement and document Coro->suspend, Coro->resume. + - fix Coro::Select implementation to not (often) close + the passed file descriptors (testcase provided by pippijn). + +5.13 Mon Dec 15 21:51:42 CET 2008 + - EXPERIMENTAL: implement dynamic winds (on_enter/on_leave). - don't set diehook to C but instead to NULL, to avoid spurious warnings. - fix a lot of bugs in Coro::SemaphoreSet. @@ -20,6 +67,8 @@ - fix some minor issues in Coro::State->call/eval. - use current coroutine context instead of a temporary one when temporarily switching to another coroutine. + - do not call C-level on_destroy handlers during global destruction, + to avoid needless segfaults. 5.12 Sun Dec 7 13:30:38 CET 2008 - add default config for MirOS, which seems to be a bug-to-bug