2007-07-23 07:25:09 (r2202) by rcaputo; poe/lib/POE.pm M Bump up the version. 2007-07-23 07:22:57 (r2201) by rcaputo poe/lib/POE/Resource/Events.pm M; poe/lib/POE/Loop/TkCommon.pm M Resolve a CPU spinning issue when using the Tk event loop without any event watchers. Resolves ticket 27359 reported by Craig at Lucent. Others have also reported this issue, but not in a ticket. :) 2007-07-23 01:37:08 (r2200) by rcaputo poe/lib/POE/Loop/TkActiveState.pm M Avoid a warning about ambiguous use of select(). 2007-07-22 08:37:07 (r2199) by rcaputo poe/lib/POE/Wheel/ReadWrite.pm M Apply Gareth's patch for an optional synchronous put() and a flush() method with which to flush the wheel's buffer on command. Resolves rt.cpan.org ticket 20328. 2007-07-22 06:15:17 (r2198) by rcaputo poe/t/30_loops/00_base/wheel_run.pm M Add a brief sleep to the child program to allow pipes to be flushed before the program exits. Andreas Koenig brought this to my attention via CPAN test reports and rt.cpan.org ticket 27478. 2007-07-22 02:21:32 (r2197) by rcaputo; poe/lib/POE/Queue/Array.pm M Mark Jason Dominus' binary insert example (Higher Order Perl, p. 292) inspired me to benchmark POE::Queue::Array against his algorithm. The linear seeks become slower after queues of depth 4. They're neck-and-neck for shorter ones. POE::Queue::Array's algorithm is a little faster otherwise, probably due to the special cases it implements. This patch removes the linear search cases for "small" queues. They were not being helpful. It also simplifies the binary search code, which is always a plus (Perl runs faster if it runs less code). Finally, it simplifies the remaining necessary linear search code... but that's after a binary seek anyway. Net loss: 94 lines of code. All tests still pass. 2007-07-21 07:04:55 (r2196) by rcaputo poe/lib/POE/Component/Server/TCP.pm M Resolve rt.cpan.org ticket 27833. Philip Gwyn found a case where the connection count for a server could go negative. Not-shutting-down hilarity ensues in this case. I've just applied his patch. 2007-07-21 06:52:55 (r2195) by rcaputo poe/t/30_loops/00_base/wheel_sf_ipv6.pm M Eric Hacker found a case where the IPv6 tests failed when AF_INET6 isn't supplied by Socket6. This commit wraps the use of that constant in a block eval and skips all the tests if there's a failure. At least I hope that's the case. Should resolve rt.cpan.org ticket 25879. 2007-07-21 06:51:26 (r2194) by rcaputo poe/lib/POE/Wheel/SocketFactory.pm M Oops. Remove tabs. 2007-07-21 06:40:31 (r2193) by rcaputo poe/lib/POE/Wheel/SocketFactory.pm M Per STRO's suggestion, test and provide dummies for the IPv6 constants separately. Resolves rt.cpan.org ticket 27250. 2007-07-04 21:31:15 (r2192) by rcaputo poe/lib/POE/Resource/Signals.pm M Yuval Kogman discovered that sig_child() events were not triggering after a second POE::Kernel->run() in the same program. We tracked this down to a static compile-time initialization. Moving that into POE::Resource::Signals::_data_sig_initialize() fixed the problem right up. 2007-06-14 01:26:41 (r2191) by rcaputo; poe/mylib/PoeBuildInfo.pm M Rob Bloodgood found a new deprecation. This change works around it. 2007-05-24 05:52:46 (r2190) by immute; poe/lib/POE/Wheel/ReadWrite.pm M Added handle accessors to Wheel::ReadWrite 2007-05-08 20:32:50 (r2189) by rcaputo poe/lib/POE/Wheel/SocketFactory.pm M Shevek suggested that Fcntl be used to import F_GETFL, F_SETFL and O_NONBLOCK since POSIX doesn't always do it. Tests here show that using both doesn't throw warnings, so there doesn't seem to be harm in it. 2007-04-29 06:38:11 (r2188) by rcaputo poe/lib/POE/Filter/HTTPD.pm M; poe/t/10_units/05_filters/03_http.t M Marlon Bailey discovered that POE::Filter::HTTPD threw incorrect objects when methods were of mixed case. Such as "GEt". This commit includes a test for the proper behavior and a fix. NB: You'll get back an HTTP::Request object with a mixed-case method. The filter does NOT force a particular case here. 2007-04-19 21:35:33 (r2187) by rcaputo poe/mylib/Makefile-5004.pm M; poe/lib/POE/Wheel/ReadLine.pm M; poe/mylib/Makefile-5005.pm M; poe/lib/POE/Filter/HTTPD.pm M; poe/lib/POE/Filter/Block.pm M; poe/MANIFEST M; poe/lib/POE/Driver/SysRW.pm M; poe/lib/POE/Filter/Reference.pm M; poe/lib/POE/Wheel/SocketFactory.pm M I read on perl5-porters this trick to conditionally "use bytes" without source filtration. It works! And it's lexical! ZOMG! This commit replaces the stinky make-time source filter we were using with the compile-time trick. Thanks go out to Phil Harvey for coming up with the idea. 2007-04-06 19:53:33 (r2186) by rcaputo poe/lib/POE/Wheel/SocketFactory.pm M blocking() appears to be a FileHandle method, not an IO::Handle method. Use FileHandle explicitly to ensure it's loaded. 2007-03-30 05:09:23 (r2185) by rcaputo poe/lib/POE/Component/Server/TCP.pm M Cosmetic fixes in the high/low water mark code.
Back to POE CHANGES.