=========================== 2005-09-02 16:42:27 v0_3202 =========================== 2005-09-02 16:42:27 by rcaputo; lib/POE.pm 1.196 Bump up the version slightly for a new release. 2005-08-29 20:35:04 by rcaputo; lib/POE/Wheel/ReadWrite.pm 1.73 Remove a $kernel->select() call that was accidentally left in during a prior fix. 2005-08-22 17:34:25 by rcaputo lib/POE/Kernel.pm 1.323; lib/POE/Loop/Select.pm 1.59 Joel Bernstein pointed out a few warnings when POE is run under -W (rather than -w). We can't have that, and now we don't. =========================== 2005-08-19 17:01:32 v0_3201 =========================== 2005-08-19 17:01:32 by rcaputo; lib/POE.pm 1.195 Bump the version for a bugfix release. 2005-08-19 16:12:46 by rcaputo; lib/POE/Component/Server/TCP.pm 1.55; lib/POE/Wheel/ReadWrite.pm 1.72; lib/POE/Wheel/Run.pm 1.70 Abhishek Jain discovered a heretofore obscure socket leakage issue in POE::Component::Server::TCP. New connection sockets were passed into callbacks as closures, preventing them from being closed timely on shutdown unless a session also exited. This commit fixes the problem by passing new connections through POE::Session's args parameter rather than tying them up in closures. 2005-08-10 14:44:08 by rcaputo; lib/POE/Kernel.pm 1.322 Invoke event handlers in void context if the dispatcher is called in void context. Previously handlers would be called in scalar context, causing a subtle edge case where objects wouldn't destruct properly. 2005-08-10 14:28:16 by rcaputo; lib/POE/Wheel/ReadLine.pm 1.38 Fix an amazing amount of tab damage. Yes, this commit is entirely to fix whitespace. ========================= 2005-08-06 13:52:35 v0_32 ========================= 2005-08-06 13:52:35 by rcaputo; lib/POE.pm 1.194 Increment the version for a new release. 2005-07-25 02:12:25 by rcaputo; MANIFEST 1.118; lib/POE/Session.pm 1.113; tests/90_regression/averell-callback-ret.t 1.1 Averell pointed out that callbacks via POE::Session->callback() do not return their handlers' return values to the caller. This is directly contraindicated by the comments. Furthermore, and perhaps best, he submitted a small patch to fix it and a proper regression test. His report was 100% perfect in all regards (even if his patch was a little overzealous). Be like him. 2005-07-04 20:32:55 by rcaputo; lib/POE/Session.pm 1.112 Shorten and sweeten the documentation for postback() and callback(). 2005-07-01 03:19:46 by rcaputo; MANIFEST 1.117; lib/POE/Wheel/SocketFactory.pm 1.81; tests/90_regression/broeren-win32-nbio.t 1.1 Apply Merijn Broeren's patch to SocketFactory for ActiveState Perl. This improves the non-blocking connect code by not turning non-blocking on for ALL sockets created in a process. NBIO is only turned on for the ones created by the socket factory. 2005-07-01 03:15:42 by rcaputo tests/30_loops/00_base/wheel_tail.pm 1.5 Cygwin under Virtual PC is just too many layers of emulation. Increase the timeout to avoid false failures. 2005-06-30 16:39:15 by rcaputo; tests/30_loops/00_base/k_alarms.pm 1.2 Windows XP under Virtual PC is functional but teh sl0. Increase the "reasonable" time factor for the alarm tests in the face of such time dilation. 2005-06-30 15:02:16 by rcaputo; tests/10_units/04_drivers/01_sysrw.t 1.5; tests/30_loops/00_base/wheel_sf_unix.pm 1.4; tests/30_loops/00_base/wheel_tail.pm 1.4 Work around Cygwin quirks in the tests. 1. syswrite() blocks on non-blocking pipes, so I moved a test over to internet domain sockets. 2. close() on non-blocking sockets writes, so I changed a test to use shutdown() instead. 3. Files appear to be opened for exclusive access by default, so the Wheel::FollowTail tests can't run. This closes rt.cpan.org tickets 11553 and 11053. 2005-06-30 03:37:47 by rcaputo tests/30_loops/00_base/wheel_sf_ipv6.pm 1.6 Correct a typo in a $^O check. Cygwin's ID is "cygwin", all lowercase. 2005-06-29 21:46:21 by rcaputo; lib/POE/Loop/TkCommon.pm 1.14; tests/30_loops/00_base/ses_session.pm 1.10; tests/30_loops/00_base/wheel_run.pm 1.9 Preliminary fixes for coredumps when calling POE::Kernel->run() more than once. Will be testing on OSX and ActiveState Perl before this is through. 2005-06-29 05:44:51 by rcaputo; lib/POE/Loop.pm 1.7 Explain how POE finds a POE::Loop module. This closes rt.cpan.org ticket 7852. 2005-06-29 04:56:32 by rcaputo lib/POE/Kernel.pm 1.321; tests/10_units/03_base/11_assert_usage.t 1.4 Arturas Slajus (with diacriticals, however) reported a bug in POE's signal handling (rt.cpan.org ticket 12953). This turned out to be caused by calling sig() outside a running session. This change checks that methods requiring to be called from running sessions actually are, but it only does so when ASSERT_USAGE is enabled. 2005-06-29 04:05:44 by rcaputo; lib/POE/Filter.pm 1.15; lib/POE/Filter/Block.pm 1.17; lib/POE/Filter/Grep.pm 1.8; lib/POE/Filter/HTTPD.pm 1.42; lib/POE/Filter/Line.pm 1.26; lib/POE/Filter/Map.pm 1.7; lib/POE/Filter/RecordBlock.pm 1.6; lib/POE/Filter/Reference.pm 1.38; lib/POE/Filter/Stackable.pm 1.8; lib/POE/Filter/Stream.pm 1.14; tests/30_loops/00_base/wheel_sf_ipv6.pm 1.5 Lift POE::Filter::Reference's get() to POE::Filter, and modify most of the other POE::Filter subclasses to use it. POE::Filter::HTTPD is an exception because it doesnt' have a get_one() function. POE::Filter::Stackable's get_one() was rewritten to accommodate the change. 2005-06-29 02:49:34 by rcaputo; lib/POE/Session.pm 1.111 Add a mandatory carp() to POE::Session->new() per rt.cpan.org ticket 8468, and http://www.nntp.perl.org/group/perl.poe/2613 . 2005-06-28 22:31:11 by rcaputo; lib/POE/Component/Server/TCP.pm 1.54 Document new()'s return value, closing rt.cpan.org ticket 9373. 2005-06-28 06:18:21 by rcaputo; MANIFEST 1.116; tests/10_units/05_filters/01_block.t 1.2; tests/10_units/05_filters/04_line.t 1.2; tests/10_units/05_filters/07_reference.t 1.5; tests/10_units/05_filters/50_stackable.t 1.2; tests/10_units/05_filters/99_filterchange.t 1.2; tests/20_resources/00_base/filehandles.pm 1.4; tests/30_loops/00_base/all_errors.pm 1.4; tests/30_loops/00_base/comp_tcp.pm 1.2; tests/30_loops/00_base/k_detach.pm 1.3; tests/30_loops/00_base/k_selects.pm 1.2; tests/30_loops/00_base/ses_nfa.pm 1.2; tests/30_loops/00_base/ses_session.pm 1.9; tests/30_loops/00_base/wheel_accept.pm 1.2; tests/30_loops/00_base/wheel_sf_ipv6.pm 1.4; tests/30_loops/00_base/wheel_sf_tcp.pm 1.2; tests/30_loops/00_base/wheel_sf_udp.pm 1.2; tests/30_loops/00_base/wheel_sf_unix.pm 1.3; tests/30_loops/00_base/wheel_tail.pm 1.3; tests/90_regression/suzman_windows.t 1.2 Deprecate the stinky old TestSetup library in favor of the shiny, and way newer Test::More. This finally resolves rt.cpan.org ticket 7558. 2005-06-28 06:15:29 by rcaputo; lib/POE/Filter/Reference.pm 1.37 Fix tab damage I introduced in the last patch to Filter::Reference. 2005-06-27 04:32:59 by rcaputo; lib/POE/Filter/Reference.pm 1.36 Modify get_one() to not destroy the reference's header in the buffer, in case it's a partial read and we switch the filter to something else. In the past, the reference's header would be lost. 2005-06-10 18:09:47 by rcaputo; lib/POE/Filter/Block.pm 1.16; lib/POE/Filter/Grep.pm 1.7; lib/POE/Filter/HTTPD.pm 1.41; lib/POE/Filter/Line.pm 1.25; lib/POE/Filter/Map.pm 1.6; lib/POE/Filter/RecordBlock.pm 1.5; lib/POE/Filter/Reference.pm 1.35; lib/POE/Filter/Stackable.pm 1.7; lib/POE/Filter/Stream.pm 1.13 Make the POE::Filter::* classes inherit from POE::Filter despite that they don't use anything in POE::Filter. This allows people to use isa() to determine whether things are POE::Filter classes. Closes rt.cpan.org ticket #13146. Cleaned up the syntax somewhat in a few of the files. I removed a huge chunk of redundant code in POE::Filter::Reference by rewriting get() in terms of get_one_start() and get_one(). All tests pass. 2005-05-30 08:32:56 by rcaputo; lib/POE/Kernel.pm 1.320 Remove the unused ET_SIGNAL_COMPATIBLE and rename the explicit dispatch to ET_SIGNAL_RECURSIVE since that's what it is now. This cleans up some vestiges from the signal deprecations. 2005-05-30 02:22:49 by rcaputo; MANIFEST 1.115 The last two regression tests won't do much good if they aren't in the distribution. 2005-05-30 02:21:53 by rcaputo tests/90_regression/steinert-signal-integrity.t 1.1 Add a regression test to ensure recursive signal dispatch doesn't clobber signal parameters. 2005-05-30 02:20:34 by rcaputo; lib/POE/Kernel.pm 1.319 Put Jonathan Steinert's patch back. Fix recursive signal dispatch to use copies of @$etc rather than the original in nested _dispatch_event calls. Any future recursive _dispatch_event calls will probably need to do the same. 2005-05-29 06:13:34 by rcaputo; lib/POE/Kernel.pm 1.318 Expose and document the new select() methods' arguments pass-through parameters. Modify Jonathan Steinert's @$etc clearing to preserve $_[ARG0] for signal events. Recursive dispatch code really needs that. I suspect that SIGCHLD dispatch is still broken, as many of the parameters passed down to it will be wiped out before the event is dispatched everywhere. 2005-05-29 06:10:49 by rcaputo tests/20_resources/00_base/filehandles.pm 1.3 Modified the test for the internal _data_handle_add()'s new pass-through arguments parameter. 2005-05-28 23:57:37 by rcaputo tests/90_regression/steinert-passed-wheel.t 1.2 Add an Id tag. D'oh. 2005-05-28 23:56:42 by rcaputo tests/90_regression/steinert-passed-wheel.t 1.1 Add a regression test for hachi's last commit. His commit breaks something in SIGIDLE/SIGZOMBIE dispatch (k_aliases.t), and I want to be sure I fix that without regressing the issue he fixed. 2005-05-28 22:45:02 by rcaputo lib/POE/Kernel.pm 1.317; lib/POE/Resource/FileHandles.pm 1.20 Add pass-through parameters to POE::Kernel's select methods. Values passed in this way will be passed back with the I/O events they generate. 2005-05-25 00:54:57 by hachi; lib/POE/Kernel.pm 1.316 Arguments to an event should be cleaned up after the event is called, but before we return control back to the Kernel (queued events) or the calling Session (called events). =========================== 2005-05-20 04:20:08 v0_3101 =========================== 2005-05-20 04:20:08 by rcaputo; lib/POE.pm 1.193 Bump up the version. Dance! Dance! 2005-05-18 23:08:17 by rcaputo; tests/30_loops/00_base/wheel_run.pm 1.8 Fall back to a single POE::Kernel->run() in this test because multiple entries were crashing ActivePerl + Tk. 2005-05-17 07:19:20 by rcaputo; tests/30_loops/00_base/wheel_run.pm 1.7 Fix a miscount in the number of skipped tests under Windows. Also skip all tests when using Event, as it seems that Event + thread-simulated fork() + re-entering the event loop = Breakage. 2005-05-16 20:53:37 by hachi; lib/POE/Kernel.pm 1.315 Minor documentation gap, and some bad grammar. 2005-05-16 05:28:55 by rcaputo; mylib/coverage.perl 1.15 General cleanups during a Devel::Cover debugging session. Be more careful about the steps taken. Display some debugging output. Explicitly specify an output directory. 2005-05-16 04:09:37 by rcaputo; tests/30_loops/00_base/wheel_run.pm 1.6 The restructured tests cause one of the sessions to receive a SIGCHLD when it doesn't have a wheel. Now we don't try to call a method on that nonexistent wheel. 2005-05-15 22:20:59 by apocal; lib/POE/Component/Server/TCP.pm 1.53 Andrew A. Chen reported on the mailinglist that inet_aton wasn't imported, thanks! 2005-05-15 07:09:44 by rcaputo; lib/POE/Loop/Event.pm 1.43; lib/POE/Loop/PerlSignals.pm 1.10; lib/POE/Resource/Signals.pm 1.14 Fix SIGCHLD and SIGPIPE so they are IGNOREd by default. In SIGCHLD's case, this means Perl will reap child processes so you don't need to register a SIGCHLD handler if you don't care. In SIGPIPE's case, it means programs won't die if they mistakenly write to a broken pipe. Both situations have occurred since POE stopped setting default handlers for these signals. 2005-05-15 07:07:16 by rcaputo; lib/POE/Loop/IO_Poll.pm 1.33 Use better choices for the poll(2) flags when watching filehandles for normal (non-expedited/OOB) input and output. Drop the minimum poll timeout hack for certain legacy Linux builds (it was 0 anyway). 2005-05-15 07:04:51 by rcaputo; tests/30_loops/00_base/wheel_run.pm 1.5 Skip the pty tests when IO::Poll or Event are used on Mac OS X. It appears that OS X 10.4 has broken poll(2) when used with pseudo-ttys. I haven't found a work-around other than to bypass the tests. 2005-05-15 07:02:25 by rcaputo; tests/10_units/02_pipes/02_oneway.t 1.3; tests/10_units/02_pipes/03_twoway.t 1.3 Moved the POE::Pipe::{One,Two}Way test code out of the POE::Wheel::Run tests and into their own files. This shouldn't sacrifice coverage since the pipe tests don't use event loops anyway. 2005-05-15 07:00:12 by rcaputo; lib/POE/Resource/Statistics.pm 1.5 Fix some cosmetic problems in the end-of-run statistics report. 2005-05-15 01:44:12 by hachi tests/10_units/03_base/11_assert_usage.t 1.3 Duplicated test, same test is a couple lines up verbatim. 2005-05-14 23:48:12 by hachi; mylib/PoeBuildInfo.pm 1.6 Fix make distclean so test directories (not just the tests themselves) are cleaned up. This helps to stop CVS from screaming at you if you've run tests and then want to commit some changes (still have to run make distclean, but at least it works.) 2005-05-14 20:29:02 by rcaputo; lib/POE/Component/Server/TCP.pm 1.52 Clear up the purpose and activities of ClientShutdownOnError, at least a little bit. 2005-04-29 16:42:30 by rcaputo; tests/30_loops/00_base/k_detach.pm 1.2 Compensate for machines with variable CPU rates. They cause hi-resolution time() to bobble backwards by a few milliseconds eveny few seconds. This test requires events to run in a certain order, and they don't under those circumstances. It may turn out that we need to use a timeless priority queue for FIFO events rather than relying on the clock to be monotonic. 2005-04-29 01:07:14 by sungo; Makefile.PL 1.37; mylib/Makefile-5004.pm 1.35; mylib/Makefile-5005.pm 1.54 comment out the testreport functionality 2005-04-25 16:01:07 by rcaputo lib/POE/Loop/Tk.pm 1.45; lib/POE/Loop/TkActiveState.pm 1.9 Put TkActiveState.pm's $VERSION in the correct package. Module::Build will soon start examining version numbers more strictly. 2005-04-24 15:58:40 by rcaputo; lib/POE/Wheel/Run.pm 1.69 Document that POE::Wheel::Run and POE do not reap child processes unless an event is registered for SIGCHLD. 2005-04-22 20:36:32 by rcaputo; lib/POE/Filter/Reference.pm 1.34; lib/POE/Resource/Sessions.pm 1.20; lib/POE/Resource/Statistics.pm 1.4; lib/POE/Wheel/Curses.pm 1.13; lib/POE/Wheel/ReadLine.pm 1.37; tests/20_resources/00_base/caller_state.pm 1.2; tests/90_regression/ferrari-server-unix.t 1.2 Remove tabs from source code. People (myself included) have been introducing them with edits and patches. 2005-04-22 20:35:21 by rcaputo; lib/POE/Loop/Tk.pm 1.44; lib/POE/Loop/TkActiveState.pm 1.8; lib/POE/Loop/TkCommon.pm 1.13 Enable support for $kernel->run_one_timeslice() under Tk. I had to implement loop_do_timeslice() and replace Tk's MainLoop with a custom one in loop_run(). I haven't tested this against the memory leak test cases in rt.cpan.org, but I'm hoping this code (which is less twisty) will solve those issues as well. 2005-04-22 20:32:11 by rcaputo lib/POE/Wheel/Run.pm 1.68; tests/30_loops/00_base/wheel_run.pm 1.4 ActiveState Perl + Tk + POE::Wheel::Run + coderefs = Pain. ActiveState Perl emulates fork() with iThreads. Only Perl's core exit() will properly "exit" a "process". Tk overrides exit() with its own XS magic. This seems to kill off the parent "process". When POE::Wheel::Run is used to run subroutines (coderefs) in child processes, it must somehow exit() the child process, simulating exec. Under Windows, that's Perl's core exit(), which is usurped by Tk, which causes ALL MANNER OF EVIL! DON'T GO THERE! WE SURE AREN'T! 2005-04-22 20:27:23 by rcaputo; test.pl 1.3 Add some demo comments about how to focus on just one event loop's tests. 2005-04-21 17:38:44 by rcaputo tests/30_loops/00_base/wheel_sf_ipv6.pm 1.3 Resolve rt.cpan.org ticket 11056: Socket6.pm can be installed under Cygwin, but Cygwin doesn't support IPv6. 2005-04-21 17:19:07 by rcaputo; lib/POE/Pipe.pm 1.14; lib/POE/Resource/FileHandles.pm 1.19; lib/POE/Wheel/SocketFactory.pm 1.80 Apply Ed W's advice regarding non-blocking connect() in ActiveState Perl. His advice works in stand-alone (non-POE) tests, and the change doesn't break anything in POE's test suite, but I haven't actually tested whether non-blocking connect() works under POE now. ========================= 2005-04-18 06:34:52 v0_31 ========================= 2005-04-18 06:34:52 by rcaputo; tests/30_loops/00_base/k_signals.pm 1.5 Re-entering Tk::MainLoop too many times, plus signals, seems to produce a very deterministic coredump, at least on my current FreeBSD perl build. Removed one of three instances of POE::Loop->run(), and the crashy-dumpy seems to have gone away. 2005-04-18 05:47:34 by rcaputo README 1.107; lib/POE.pm 1.192; lib/POE/Wheel/Run.pm 1.67 Documentation tweaks. Bump the version up to 0.31 for release. 2005-04-18 05:03:23 by rcaputo; mylib/gen-tests.perl 1.8 Replace exit(0) in the test templates with POSIX::_exit(0). Some libraries (*cough*Tk*cough*) override Perl's exit(), which seems to cause trouble with certain tests' exit values. So even if all the tests pass, the FILE fails! Augh! This seems to work around it nicely, and it's good mojo on OS X, FreeBSD, and ActivePerl. 2005-04-13 15:25:25 by rcaputo; lib/POE/Wheel/Run.pm 1.66 Replaced {STDIN,STDOUT,STDERR}_FILENO with checks for fileno() in the close-on-exec loop we have hand-rolled. I'm hoping the regular close-on-exec works similarly and won't close STDIN/STDOUT/STDERR if their descriptors happen to be >2. 2005-04-13 14:56:30 by rcaputo; lib/POE/Component/Server/TCP.pm 1.51 Applied Nick Williams' patch to add Hostname to Server::TCP. This is a nonambiguous unpacked hostname or address that will be passed through inet_aton(). Useful when your hostnames can be four characters long, since they look suspiciously like packed addresses to length(). 2005-04-13 01:48:23 by rcaputo; mylib/PoeBuildInfo.pm 1.5 Remove Test::More as a dependency. It has a tendency to want lots of other modules. That dependency tree eventually leads to installing a new version of Perl. Big can of worms. 2005-04-12 23:02:19 by rcaputo; lib/POE/Resource/Sessions.pm 1.19; lib/POE/Wheel/FollowTail.pm 1.54; tests/30_loops/00_base/wheel_tail.pm 1.2 Uhlarik OndÃej suggested that POE::Wheel::FollowTail should be allowed to follow files that don't exist yet. This change adds that feature, resolving Uhlarik's rt.cpan.org ticket, number 6048. I hope the utf-8 in his name comes through. 2005-04-12 22:17:15 by rcaputo; lib/POE/Resource/Events.pm 1.14 A cheap indent fix. 2005-04-12 18:40:07 by rcaputo; Makefile.PL 1.36 Replace the hardcoded "make" utility with $Config::Config{make} so it's "nmake" or a cabbage or something on systems with nonstandard build tools. 2005-04-12 03:59:17 by rcaputo; lib/POE/Filter/HTTPD.pm 1.40 This guy named Jack has written a WebDAV server with POE and needs Filter::HTTPD not to bomb if the request method isn't GET, HEAD, or POST. I've applied a modified version of his patch, resolving RT ticket #11821. 2005-04-12 02:23:28 by rcaputo; mylib/PoeBuildInfo.pm 1.4 Add Test::Harness to the dependencies in an effort to solve rt.cpan.org ticket 12101 (Test::Harness being indexed as part of POE). 2005-04-12 01:43:22 by rcaputo; lib/POE/Kernel.pm 1.314; lib/POE/Wheel/Run.pm 1.65; mylib/Makefile-5005.pm 1.53; tests/30_loops/00_base/wheel_run.pm 1.3 Nick Williams and Merijn Broeren at MSDW did the impossible and managed to make POE::Wheel::Run pass actual tests on ActivePerl. Damn, they're GOOD! This round of patches isn't 100% perfect (there's an issue with the Wheel under POE::Loop::Tk), but I'm confident it'll be CPAN-worthy shortly. 2005-04-12 01:39:02 by rcaputo; Makefile.PL 1.35 Part of ExtUtils::AutoInstall's automated install procedure involves calling Makefile.PL multiple times with different parameters. This was causing the multiple "wanna run network tests?" questions. Now we skip the network tests prompt if Makefile.PL is being run again by ExtUtils::AutoInstall. 2005-03-22 08:04:09 by rcaputo; lib/POE/Wheel/ReadWrite.pm 1.71 Update the code style, but nothing else is changed. This was while looking for a memory leak in IKC, but the leak hasn't been found/fixed yet. 2005-03-22 08:02:51 by rcaputo; lib/POE/Kernel.pm 1.313 Make the wantarray code in call() more explicit, but don't change the semantics. This is while looking for a memory leak in IKC, but the leak hasn't been found/fixed yet. 2005-03-17 04:30:31 by apocal; lib/POE/Filter/Reference.pm 1.33 Patched it to cache the default freezer for performance reasons - brought up by bline, look at this ticket for more info - https://rt.cpan.org/Ticket/Display.html?id=11897 2005-03-10 20:21:55 by rcaputo; lib/POE/Session.pm 1.110 Applied Martijn van Beers' patch to make callbacks add reference counts just like postbacks do. Thanks, Martijn! 2005-02-20 15:56:42 by rcaputo; lib/POE/Filter/HTTPD.pm 1.39 Applied Martijn van Beers' patch to allow more than one request on a single connection. Also adjusted the code's style and spacing. 2005-02-09 16:26:48 by rcaputo; lib/POE/Loop/TkCommon.pm 1.12 Tk::After timers don't use stop(). Rather, they use cancel(). I'm shocked---SHOCKED, I SAY---that I never ran into this before. 2005-02-03 20:48:56 by rcaputo; lib/POE/Kernel.pm 1.312 Fix the call() example in the docs. Thanks to Tim Klein for spotting the error. 2005-02-02 06:02:21 by rcaputo; lib/POE/Wheel/Run.pm 1.64 Apply Matt Trout's NoSetSid patch to POE::Wheel::Run. When set, it disables setsid() in the child process. This closes rt.cpan.org ticket #3763. 2005-02-02 04:44:37 by rcaputo; lib/POE/Kernel.pm 1.311; lib/POE/Loop/Event.pm 1.42; lib/POE/Loop/PerlSignals.pm 1.9; lib/POE/Loop/Select.pm 1.58; lib/POE/Loop/TkCommon.pm 1.11; lib/POE/Resource/Signals.pm 1.13; tests/10_units/03_base/11_assert_usage.t 1.2; tests/20_resources/00_base/aliases.pm 1.2; tests/20_resources/00_base/events.pm 1.4; tests/20_resources/00_base/extrefs.pm 1.3; tests/20_resources/00_base/filehandles.pm 1.2 Only poll for SIGCHLD when someone actually requests sig(CHLD) events. Most programs, most of the time, will be a lot less noisy when TRACE_EVENTS and friends are active. This closes rt.cpan.org ticket #8821. 2005-02-02 02:22:16 by rcaputo; lib/POE/Loop/Select.pm 1.57 Remove the minimum timeslice constant. Nobody complained while it was set to 0, so the old Linux bug it worked around must surely be flushed out of most systems by now. 2005-01-29 20:11:41 by rcaputo; lib/POE/Wheel/FollowTail.pm 1.53 Add a tell() method so programs can resume tailing a log where they previously left off. Feature requested by Thomas Nagel. Closes rt.cpan.org ticket 8461. 2005-01-28 22:57:30 by rcaputo; samples/fakelogin.perl 1.10; samples/forkbomb.perl 1.15; samples/names.perl 1.10; samples/objmaps.perl 1.6; samples/objsessions.perl 1.12; samples/packagesessions.perl 1.9; samples/selects.perl 1.14; samples/sessions.perl 1.21; samples/signals.perl 1.15; samples/thrash.perl 1.14; samples/wheels2.perl 1.7 Remove POE::Session->new() from the tarball samples. Resolves rt.cpan.org ticket 8465. 2005-01-28 22:55:33 by rcaputo; tests/20_resources/00_base/events.pm 1.3; tests/30_loops/00_base/all_errors.pm 1.3; tests/30_loops/00_base/k_signals.pm 1.4; tests/30_loops/00_base/ses_session.pm 1.8 Remove POE::Session->new() from tests. This wasn't an RT ticket, but it should have been. 2005-01-28 22:53:31 by rcaputo lib/POE/Kernel.pm 1.310; lib/POE/Session.pm 1.109 Remove new() from documentation samples. This resolves rt.cpan.org ticket 8464. 2005-01-28 17:54:25 by rcaputo; lib/POE/Queue.pm 1.4 Remove link to ADT::PriorityQueue per Sam Carmalt's report. 2005-01-28 16:29:19 by lotr; lib/POE/Session.pm 1.108 Create a instantiate method, so you can override that when you want to process extra parameters when subclassing POE::Session. closes bug #8450 2005-01-28 08:07:35 by rcaputo; lib/POE/Wheel/Run.pm 1.63 Applying Jay Kim's patch from RT ticket 8807. This adds checks to make sure redirection actually works in the child program. Nasty deathy things happen if redirection fails, so we should at least know why, right? 2005-01-28 07:52:45 by rcaputo; lib/POE/Wheel/Run.pm 1.62 Jay Kim reported that setsid() wasn't being effectively called. It would have thrown an "Undefined subroutine" error had it not been encased in eval{}. Applied Jay's patch. 2005-01-28 07:48:41 by rcaputo; lib/POE/Session.pm 1.107 Fix a typo in the documentation, thanks to an anonymous tip in rt.cpan.org bug 8716. 2005-01-28 07:38:33 by rcaputo; MANIFEST 1.114; lib/POE/Component/Server/TCP.pm 1.50; tests/90_regression/ferrari-server-unix.t 1.1 Martin Ferrari pointed out that there's an annoying warning when using POE::Component::Server::TCP in the undocumented AF_UNIX mode. This commit applies his patch and adds his test case so it won't happen again. =========================== 2005-01-17 17:48:28 v0_3009 =========================== 2005-01-17 17:48:28 by rcaputo; lib/POE.pm 1.191 Bump the version to 0.3009 for a new CPAN bugfix release. 2005-01-17 17:46:28 by rcaputo tests/90_regression/rt1648-tied-stderr.t 1.2 This regression test requires fork(), but it didn't skip if the system can't support fork(). This commit addresses rt.cpan.org ticket #9808 and testers.cpan.org report #176869 by skipping the tests on lame platforms. =========================== 2005-01-02 17:45:38 v0_3007 =========================== 2005-01-02 17:45:38 by rcaputo lib/POE.pm 1.190; lib/POE/Filter/HTTPD.pm 1.38 Richard Clamp pointed out that Filter::HTTPD doesn't import all the symbols it needs. This indicates a Great Need to have that filter tested properly. Also bumped POE.pm to 0.3007 for a quick bugfix release. 2004-12-30 20:58:42 by rcaputo; lib/POE.pm 1.189 Bump the distro version to 0.3006 to differentiate the CVS version from the CPAN release. =========================== 2004-12-30 20:35:45 v0_3005 =========================== 2004-12-30 20:35:45 by rcaputo; lib/POE.pm 1.188 Bump version to 0.3005 for release. 2004-12-30 16:25:24 by rcaputo; mylib/PoeBuildInfo.pm 1.3 Because there's a behavioral difference between Test::More releases, require the one the tests have been verified to work with. 2004-12-30 16:22:48 by rcaputo tests/20_resources/00_base/signals.pm 1.3 Khisanth on IRC reported a problem with the signals test. Somni tracked the problem down to a change in Test::More behavior. Once I knew the source of the problem, I was able to reproduce it easily (upgrade Test::More). Now it's fixed. Thanks! 2004-12-18 04:24:57 by rcaputo lib/POE.pm 1.187; lib/POE/Loop.pm 1.6; lib/POE/Preprocessor.pm 1.35 Mike Castle found references to the old POE::Loop::Poll in the documentation. Now they are corrected to refer to POE::Loop::IO_Poll. 2004-12-03 03:35:36 by rcaputo; lib/POE/NFA.pm 1.31 Tom Klein pointed out a typo in one of the POE::NFA error messages. This commit fixes it, and also undoes the emacs-centric (also known as "funky groupers") grouping and indenting in the code and documentation. 2004-12-02 16:21:20 by rcaputo; lib/POE/Session.pm 1.106 Point the user at the RT ticket 8462, which is the umbrella for all the tasks in the deprecation. 2004-12-02 07:30:27 by apocal; lib/POE/Session.pm 1.105 Actually document the new() deprecation as per RT#8469 2004-12-02 00:20:59 by apocal; lib/POE.pm 1.186; lib/POE/API/Ctl.pm 1.3; lib/POE/Filter/HTTPD.pm 1.37; lib/POE/Kernel.pm 1.309; lib/POE/Pipe.pm 1.13; lib/POE/Pipe/OneWay.pm 1.14; lib/POE/Pipe/TwoWay.pm 1.17; lib/POE/Resource/Controls.pm 1.4; lib/POE/Wheel/Curses.pm 1.12; lib/POE/Wheel/FollowTail.pm 1.52; lib/POE/Wheel/ListenAccept.pm 1.30; lib/POE/Wheel/ReadLine.pm 1.36; lib/POE/Wheel/ReadWrite.pm 1.70; lib/POE/Wheel/SocketFactory.pm 1.79 This patch is the beginning of RT#1692, hopefully I got them all, help me test, test, test! 2004-11-27 16:52:13 by rcaputo; MANIFEST 1.113; lib/POE/Wheel/Run.pm 1.61; tests/90_regression/rt1648-tied-stderr.t 1.1 Resolve rt.cpan.org #1648. Tied STDOUT, STDERR would cause POE::Wheel::Run child processes to eat output, never sending it back to the parent. This change unties STDOUT, STDERR if they're tied, griping at the user in the process. So to speak. 2004-11-27 16:25:03 by rcaputo; lib/POE.pm 1.185 POE 0.3003 seems to be stable. The first couple CPAN testers' reports came back PASS rather than FAIL, anyway. Bump the version te 0.3004 for CVS development. =========================== 2004-11-26 22:25:25 v0_3003 =========================== 2004-11-26 22:25:25 by rcaputo; lib/POE.pm 1.184 Increase minor version for another 0.30 fix release. Hopefully the installer will succeed on more CPAN testers' machines. 2004-11-26 22:13:07 by rcaputo; MANIFEST 1.112 Oh, and we'll need to distribute PoeBuildInfo.pm, so put it in MANIFEST. 2004-11-26 21:21:54 by rcaputo; mylib/Makefile-5004.pm 1.34; mylib/Makefile-5005.pm 1.52; mylib/PoeBuildInfo.pm 1.2; mylib/gen-meta.perl 1.2 Switch from variables to "constant" subroutines. Just because it compiles, and it looks like it's runnig, doesn't mean it works. Check the messages more carefully before committing next time. 2004-11-26 19:02:19 by rcaputo; mylib/Makefile-5004.pm 1.33 Fix a syntax error, and have "make dist" fail all the time under old versions of Perl. 2004-11-26 18:53:12 by rcaputo; Makefile.PL 1.34 Add some comments. 2004-11-26 18:51:21 by rcaputo mylib/Makefile-5004.pm 1.32; mylib/Makefile-5005.pm 1.51 Use PoeBuildInfo.pm rather than hardcode common data in both versions of Makefile.pm. 2004-11-26 18:49:55 by rcaputo; mylib/PoeBuildInfo.pm 1.1 Moved prerequisites, recommended modules, file cleanup configuration, and a few other bits into a common library. The same data is used by the 5.004 and 5.005 versions of Makefile.PL, and it's also needed by the new gen-meta.perl utility. 2004-11-26 18:47:57 by rcaputo; mylib/gen-meta.perl 1.1 Moved the META.yml generation to a separate utility. This lets us build a proper META.yml without Build.PL fouling up installation and testing. It also avoids moving the Module::Build code into Makefile.PL, where it would become a mandatory prerequisite. It's only used during "make dist" anyway. 2004-11-26 18:41:00 by rcaputo; MANIFEST 1.111 Remove Build.PL. CPANPLUS spots it and tries to build POE with it, which wouldn't be so bad if Module::Build didn't eat test.pl's STDOUT. Hilarity (such as this CPAN testers failure) ensues: test....FAILED before any test output arrived FAILED--1 test script could be run, alas--no output ever seen 2004-11-26 16:41:38 by rcaputo; mylib/Makefile-5004.pm 1.31 The test reports are generated based on which perl is running. The 5.004 makefile would run the reports under whichever perl was caught first in the user's path. This commit propagates the perl version that was used to run Makefile.PL down to the test report. =========================== 2004-11-25 21:10:41 v0_3002 =========================== 2004-11-25 21:10:41 by rcaputo; lib/POE.pm 1.183 Clean cup! Clean cup! Move down! Move down! In this case, move up. Move the version up for another release. 2004-11-25 21:09:02 by rcaputo; mylib/testreport.pl 1.15 I broke the test report tool when I renamed the test directories. Furthermore, the tool checked in Makefile, and the whole point of renaming the directory was to get them OUT of Makefile. It should be fixed now. =========================== 2004-11-25 20:11:19 v0_3001 =========================== 2004-11-25 20:11:19 by rcaputo; lib/POE.pm 1.182 Module::Build seems to enable YAML support at install time. If you don't have YAML then, then you don't get full META.yml files later on. Bump the release to 0.3001. This distribution's built AFTER reinstalling YAML then Module::Build at gunpoint. ========================= 2004-11-25 19:44:12 v0_30 ========================= 2004-11-25 19:44:12 by rcaputo; lib/POE.pm 1.181 Bump the version to 0.30 for release. 2004-11-25 19:37:23 by rcaputo; lib/POE/Filter/Reference.pm 1.32 POE::Filter::Reference wasn't loading Compress::Zlib due to require() semantics changes somewhere between 5.6.1 and 5.7.4. Thanks to Nilson Santos (nilsonsfj on the CPAN) for reporting the problem and providing a suggested fix. 2004-11-25 16:56:22 by rcaputo; mylib/Makefile-5005.pm 1.50 Combine the core requirements for ExtUtils::AutoInstall and MakeMaker into one hash so they can be changed together at once. 2004-11-25 16:47:48 by rcaputo; mylib/Makefile-5005.pm 1.49 Downgrade requirements because ActiveState's repository is behind the times. 2004-11-25 16:12:54 by rcaputo; mylib/ExtUtils/AutoInstall.pm 1.7 Upgrade to 0.61. 2004-11-25 07:04:24 by rcaputo MANIFEST 1.110; mylib/Makefile-5004.pm 1.30 Remove the old dependency checker. It was reporting all kinds of bogus things and needed to be put down. 2004-11-25 06:59:12 by rcaputo tests/10_units/01_preprocessor/02_macro_usebytes.t 1.6 Put back some code that was removed in an overzealous change. 2004-11-24 23:20:46 by rcaputo tests/10_units/01_preprocessor/02_macro_usebytes.t 1.5 Add an Id tag. 2004-11-24 22:25:25 by rcaputo tests/30_loops/00_base/ses_session.pm 1.7 Skip the event loop restarting test if we're using Tk and a non-threaded version of Perl 5.8 or later. Tk dumps core per rt.cpan.org ticket 8588, and we can't be failing OUR tests because of that. 2004-11-24 22:23:07 by rcaputo tests/10_units/01_preprocessor/02_macro_usebytes.t 1.4 The two-arg binmode() call wasn't needed. It was a vestige of displaying Phi on the console, and that went away a long time ago. 2004-11-24 21:17:40 by rcaputo; mylib/gen-tests.perl 1.7 Disable the XS tests, seeing as we don't have any XS to test yet. I don't need to answer a bunch of questions about them at this time. 2004-11-24 16:41:59 by rcaputo; mylib/gen-tests.perl 1.6 Cosmetic change to wrap a line at 80 columns. 2004-11-24 03:48:32 by rcaputo tests/30_loops/00_base/ses_session.pm 1.6 Garbage collection behaves differently under 5.005_04. 2004-11-24 03:46:28 by rcaputo; tests/10_units/03_base/01_poe.t 1.6 Remove a vestige of debugging the issue where STDERR wouldn't come back after being temporarily redirected. 2004-11-24 02:28:05 by rcaputo mylib/Makefile-5004.pm 1.29; mylib/Makefile-5005.pm 1.48 Upgrade dependencies to versions that are known to pass tests. 2004-11-24 02:26:18 by rcaputo tests/30_loops/00_base/ses_session.pm 1.5 The more versions of Perl we test on, the more new and interesting (and virtually impossible to track down) garbage collection issues arise. Klortho, take me now! 2004-11-24 02:23:57 by rcaputo tests/20_resources/00_base/extrefs.pm 1.2 CROM COUNT THE TESTS! Uh... add a test count to the Test::More import. 2004-11-24 02:21:02 by rcaputo; tests/10_units/05_filters/03_http.t 1.4 Data::Dumper doesn't build on---to put it nicely---"legacy" versions of Perl. Thank goodness this test didn't use it. 2004-11-24 02:18:56 by rcaputo; tests/10_units/03_base/01_poe.t 1.5; tests/10_units/04_drivers/01_sysrw.t 1.4 Fix temporary STDERR redirection around tests for error and/or warning conditions. Previously STDERR would go away and never come back. Bad STDERR. 2004-11-24 02:17:03 by rcaputo tests/10_units/01_preprocessor/02_macro_usebytes.t 1.3 Two-argument binmode() isn't supported in very very extremely old versions of Perl. A warning results when someone tries to use it. This change adds a note that the warning can be disabled by upgrading Perl. 2004-11-24 02:12:51 by rcaputo; mylib/gen-tests.perl 1.5 File::Spec::Functions isn't available in Perl 5.004_05. Downgrade to plain File::Spec. 2004-11-24 02:10:40 by rcaputo; lib/POE/Queue/Array.pm 1.8 Use Carp explicitly rather than assume it's loaded by another module. The stand-alone queue tests were failing because Carp wasn't loaded anywhere else. 2004-11-24 02:09:19 by rcaputo; lib/POE/Loop/IO_Poll.pm 1.32 IO::Poll went retrograde on CPAN. Back the required version down to 0.01, despite there being problems in older, pre-0.05 versions. 2004-11-24 02:07:50 by rcaputo; lib/POE/Driver/SysRW.pm 1.30 Perl 5.005_04 was not properly setting $! on important sysread() errors. While debugging, I discovered a simple no-op that causes $! to be set properly. This commit adds the work-around, and now the SysRW driver tests pass. 2004-11-24 02:04:37 by rcaputo; Makefile.PL 1.33 5.005_04 exists, so the Makefile.PL deprecation warning has changed to target versions before that. 2004-11-22 19:28:35 by rcaputo tests/30_loops/00_base/ses_session.pm 1.4 Work around an intermittent failure in Tk when starting its main loop twice in one program. 2004-11-22 18:05:19 by rcaputo; MANIFEST 1.109; mylib/Makefile-5004.pm 1.28; mylib/Makefile-5005.pm 1.47; mylib/gen-tests.perl 1.4; test.pl 1.2 SourceForge has moved t to tests. This commit should point everything to the tests' new location. 2004-11-22 18:04:14 by rcaputo tests/30_loops/00_base/all_errors.pm 1.2 Fix the skip message so Test::Harness can report the reason. 2004-11-22 00:24:06 by rcaputo; test.pl 1.1 Hurk burk! Why didn't I include this in the last commit? 2004-11-22 00:22:13 by rcaputo; MANIFEST 1.108; mylib/Makefile-5004.pm 1.27; mylib/Makefile-5005.pm 1.46 After expanding and refactoring POE's test suite, the command line to run all the tests has become too long for some shells. Sungo suggested moving the Test::Harness invocation into test.pl, which seems to work swimmingly, as this commit shall attest. 2004-11-22 00:13:53 by rcaputo; tests/30_loops/00_base/k_signals.pm 1.3; tests/30_loops/00_base/ses_session.pm 1.3; tests/30_loops/00_base/wheel_run.pm 1.2; tests/30_loops/00_base/wheel_sf_ipv6.pm 1.2; tests/30_loops/00_base/wheel_sf_unix.pm 1.2 So, recent versions of Tk trap exit() when it's called from BEGIN{} or eval{}. It croaks rather than exiting, which makes it a little harder for tests to bail out under Tk. This commit uses CORE::exit() to bypass Tk's trap. It also prints the skip messages manually since Test::More and POE's own TestSetup both exit on their own when skipping entire test files. 2004-11-22 00:10:21 by rcaputo; mylib/gen-tests.perl 1.3 Fixed the DISPLAY checking code so that test templates expand correctly on Windows. 2004-11-22 00:08:07 by rcaputo; lib/POE/Resource/FileHandles.pm 1.18; tests/10_units/04_drivers/01_sysrw.t 1.3 In these enlightened times of ActivePerl 5.8.4, $handle->blocking() seems not to do anything useful. This commit undoes the blocking() calls that were introduced when ActivePerl 5.8.0 broke the original ioctl() calls and actually seemed to honor blocking(). ActivePerl, she is such a fickle mistress. 2004-11-17 05:28:13 by rcaputo mylib/Makefile-5004.pm 1.26; mylib/Makefile-5005.pm 1.45 Use fileglobs to shorten the list of test files passed to MakeMaker. Unfortunately, this does not fix the problem that the Test::Harness command line is too long for CMD.EXE (and possibly other limited shells). 2004-11-16 21:13:09 by rcaputo; Makefile.PL 1.32 Resolve rt.cpan.org ticket 6319 by asking people to "make reportupload" at the end of Makefile.PL. It may be better to ask at the end of "make test" but I'm not in the mood to hack Makefile through Makefile.PL right now. 2004-11-16 19:21:02 by rcaputo; lib/POE/Component/Server/TCP.pm 1.49 Applied the patch in rt.cpan.org ticket 7787. This adds a Started callback (originally suggested as ServerStarted) to the component, so you get a callback right away when the server is started. The original patch wasn't documented, so I documented it. The bulk of this commit involves tidying up the documentation while I was rummaging through it. 2004-11-16 08:25:54 by teknikill tests/20_resources/00_base/caller_state.pm 1.1 add CALLER_STATE test 2004-11-16 07:58:58 by teknikill tests/20_resources/00_base/events.pm 1.2 CALLER_STATE modifications 2004-11-16 07:54:12 by teknikill; lib/POE/Loop/Event.pm 1.41; lib/POE/Loop/PerlSignals.pm 1.8; lib/POE/NFA.pm 1.30; lib/POE/Resource/Events.pm 1.13; lib/POE/Resource/FileHandles.pm 1.17; lib/POE/Resource/Statistics.pm 1.3; lib/POE/Session.pm 1.104 CALLER_STATE added 2004-11-16 07:50:15 by teknikill; lib/POE/Kernel.pm 1.308 CALLER_STATE and get_active_event added 2004-11-16 07:13:04 by rcaputo; lib/POE/API/ResLoader.pm 1.4; lib/POE/Driver/SysRW.pm 1.29; lib/POE/Filter.pm 1.14; lib/POE/Filter/Block.pm 1.15; lib/POE/Filter/Grep.pm 1.6; lib/POE/Filter/HTTPD.pm 1.36; lib/POE/Filter/Reference.pm 1.31; lib/POE/Kernel.pm 1.307; lib/POE/Loop.pm 1.5; lib/POE/Loop/Event.pm 1.40; lib/POE/Loop/Gtk.pm 1.45; lib/POE/Loop/TkCommon.pm 1.10; lib/POE/NFA.pm 1.29; lib/POE/Preprocessor.pm 1.34; lib/POE/Queue/Array.pm 1.7; lib/POE/Resource/Aliases.pm 1.11; lib/POE/Resource/FileHandles.pm 1.16; lib/POE/Resource/Statistics.pm 1.2; lib/POE/Session.pm 1.103; lib/POE/Wheel/FollowTail.pm 1.51; lib/POE/Wheel/ReadLine.pm 1.35; lib/POE/Wheel/ReadWrite.pm 1.69; lib/POE/Wheel/Run.pm 1.60 Applied LARRYSH's massive spellchecking patch. This resolves rt.cpan.org ticket 8451. 2004-11-15 23:28:01 by rcaputo; lib/POE/Session.pm 1.102 Fixed a typo in the POD, resolving rt.cpan.org ticket 8358 by Joost Vunderink. He also has the greatest .sig in his bug report. You should go look at it. 2004-11-15 23:23:36 by rcaputo; lib/POE/Filter/Stackable.pm 1.6 This commit resolves rt.cpan.org ticket 8281: Attached patch brings Filter::Stackable into the get_one Filter API era. There are no known issues with the new feature, but it remains untested as of this time. Martijn van Beers contributed the patch and is aware of his responsibility to fix anything it breaks. 2004-11-15 02:57:53 by rcaputo; lib/POE/Filter/Reference.pm 1.30 Get rid of redefined subroutine warnings when POE::Filter::Reference releads a partially loaded package. This uses the old school $^W thing so Legacy Perl won't choke on "no warnings". 2004-11-12 14:51:53 by rcaputo tests/10_units/05_filters/07_reference.t 1.4 Scott Beck pointed out that the qq{} wasn't future proof. The eval could silently fail if @_ ever became populated. I've switched to q{} and thrown in C to make sure it never happens... or is found if it does. 2004-11-11 17:43:26 by rcaputo lib/POE/Kernel.pm 1.306; lib/POE/Loop/PerlSignals.pm 1.7 Allow users to register $kernel->sig("WINCH"). POE does not register all %SIG entries by default anymore, so it's up to the developer to determine whether SIGWINCH is safe in her environment. We no longer need to block $SIG{WINCH}. 2004-11-11 17:21:09 by rcaputo tests/10_units/05_filters/07_reference.t 1.3 Philip Gwyn said my changes to his test invalidated it. That isn't surprising since I wasn't completely sure what was being tested. We went over the details in IRC for a bit, and came up with a small change to make it ideologically correct. This commit applies his patch to fix my breakage of his earlier patch. 2004-11-10 02:35:12 by rcaputo; lib/POE/Filter/Reference.pm 1.29; tests/10_units/05_filters/07_reference.t 1.2 Rhesa Rozendaal reported a problem where XML::Simple uses a serializer but not completely, resulting in the module being loaded but not all methods being present. The situation fooled POE::Filter::Reference. Philip Gwyn submitted this test and change to reload the serializer in this case, pulling all its methods into existence. KTHXAPPLIED! 2004-11-09 23:36:23 by rcaputo; lib/POE/Component/Server/TCP.pm 1.48 Removed the CAVEATS section, as the one caveat was ill thought out. You can do a lot of things with POE::Component::Server::TCP, including challenge/response protocols. 2004-11-08 20:48:13 by rcaputo; lib/POE/Resource/FileHandles.pm 1.15 Ok. This time for sure. Jonathan verified it before I committed it. 2004-11-08 17:07:13 by rcaputo; lib/POE/Resource/FileHandles.pm 1.14 We don't have tests that trigger the error I just "fixed", so the "fix" had a bug in it. This fix should fix the "fix" in my last commit. Unless it doesn't, in which case there'll be yet another. 2004-11-08 16:37:24 by rcaputo; lib/POE/Resource/FileHandles.pm 1.13 Jonathan Steinert pointed out that the "can't select a handle 2+ times" error was vague. This commit should fix that up good, a-yep. 2004-10-30 21:30:01 by rcaputo; lib/POE/Driver/SysRW.pm 1.28 Clear $! if syswrite() returns successfully. POE wheels check $! to detect driver errors. Some tied filehandle classes (this time Devel::SerialPort) don't clear $! on success. POE::Wheel::ReadWrite would see this as an error condition, and bad things would happen. Clearing $! on success makes wheel operations more robust. 2004-10-16 17:22:00 by rcaputo; lib/POE/Kernel.pm 1.305 Ever since the experimental stop() was added, and run() was resumable, it annoyed me that combining them with POE::Wheel::Run--- to run POE kernels in child processes--- would not recalculate the child kernels' IDs. As you may know, kernel IDs are meant to be globally unique. They're a hash of the machine address, process ID, and creation time. So it seems to make sense that spawned off POE processes should have IDs different from their parents. This change forces a kernel ID recalculation whenever stop() is called. 2004-10-14 04:24:20 by hachi; lib/POE/Wheel/SocketFactory.pm 1.78 In an endeavor to use SocketFactory without the POE::Kernel, discovered that IO::Handle needs to be loaded to work properly. This glitch never showed up before because Kernel.pm has use IO::Handle in it for us. Added for completeness. 2004-10-13 17:48:28 by rcaputo; lib/POE/Wheel/ReadLine.pm 1.34 After a lengthy study into the reasons for Term::ReadKey failing, it was discovered that Perl 5.8.0 is to blame, most likely under particular versions of the Linux kernel, or gcc, or a combination of kernel AND gcc. Versions of Perl other than 5.8.0 work under the same combinations of kernel and gcc, however. This commit documents the research results, provides a test case to determine if "your" system suffers from the problem, and recommends alternatives. 2004-10-13 16:54:26 by rcaputo; MANIFEST 1.107 This sample program is covered in the "Evolution of a POE Server" tutorial at http://poe.perl.org/?Tutorials 2004-10-13 16:47:48 by rcaputo; MANIFEST 1.106 Removed the tk.perl sample program. It is superseded by the Cookbook "Tk Interfaces" recipe. See http://poe.perl.org/?POE_Cookbook . 2004-10-12 20:13:51 by lotr; lib/POE.pm 1.180; lib/POE/Kernel.pm 1.304; tests/10_units/03_base/01_poe.t 1.4; tests/10_units/03_base/14_kernel.t 1.1 Remove the POE::Loop modules from the modules that need to be loaded seperately, as they're being passed to POE::Kernel. Also die when attempting to load more than one Loop. And add some tests to make sure it works like we want to. 2004-10-12 16:49:48 by rcaputo lib/POE.pm 1.179; lib/POE/Kernel.pm 1.303 Applying a patch by Martijn van Beers. This change adds syntax for loading POE::Loop classes explicitly from POE::Kernel's import(). It also adds code to POE.pm's import() that transfers Loop classes to the new syntax. The upshot is that you can load classes explicitly rather than let POE::Kernel figure things out. This is especially important for event loops that identify as two or more event loops (such as Glib and Gtk2). 2004-10-12 05:18:51 by rcaputo; tests/10_units/01_preprocessor/02_macro_usebytes.t 1.2; tests/10_units/02_pipes/01_base.t 1.2; tests/10_units/02_pipes/02_oneway.t 1.2; tests/10_units/02_pipes/03_twoway.t 1.2; tests/10_units/03_base/01_poe.t 1.3; tests/10_units/03_base/02_api_resloader.t 1.2; tests/10_units/03_base/03_component.t 1.2; tests/10_units/03_base/04_driver.t 1.2; tests/10_units/03_base/05_filter.t 1.2; tests/10_units/03_base/06_loop.t 1.2; tests/10_units/03_base/07_queue.t 1.2; tests/10_units/03_base/08_resource.t 1.2; tests/10_units/03_base/09_resources.t 1.2; tests/10_units/03_base/10_wheel.t 1.2; tests/10_units/04_drivers/01_sysrw.t 1.2; tests/10_units/05_filters/02_grep.t 1.2; tests/10_units/05_filters/03_http.t 1.3; tests/10_units/05_filters/05_map.t 1.2; tests/10_units/05_filters/06_recordblock.t 1.2; tests/20_resources/00_base/statistics.pm 1.2 Remove "use warnings" throughout the tests. It's amazing what flushes out when you run the tests under a really really old version of Perl. 2004-10-12 05:06:31 by rcaputo; mylib/gen-tests.perl 1.2 Three-arg open is not supported in perl 5.005. This massages it back to two-arg open. 2004-10-11 20:10:23 by rcaputo lib/POE/Kernel.pm 1.302; lib/POE/Resource/FileHandles.pm 1.12 Move some RUNNING_IN_HELL code to an appropriate file. Namely, the dummy F_[GS]ETFL constants. They fit better in POE::Resource::FileHandles. 2004-10-07 22:04:46 by rcaputo; tests/10_units/03_base/01_poe.t 1.2 God kills a kitten every time someone doesn't use POE. This change ensures that POE is being used, so no kittens will die on our watch. We love kittens, and don't wish any harm upon them. 2004-10-05 15:50:39 by rcaputo; mylib/Makefile-5005.pm 1.44 Removed the '-tests' parameters for each of the optional modules. The tests are all in different places now, some of them don't exist, and others exist multiple times... but only after they're generated from templates. 2004-10-05 15:31:59 by rcaputo; lib/POE/Driver/SysRW.pm 1.27 Fixed some awkward indenting. This change is meaningless. 2004-10-05 15:30:42 by rcaputo; Makefile.PL 1.31 Swapped a couple words is a prompt, possibly making it easier to read. 2004-09-27 05:19:38 by rcaputo; lib/POE/Kernel.pm 1.301 Fluffle said the documentation didn't explain how sessions are reaped after terminal signals are delivered. Hey, that's true! Well, now they do. Take THAT! 2004-09-23 21:49:44 by rcaputo; mylib/ExtUtils/AutoInstall.pm 1.6 17:35 dngor: hey. you may wish to start shipping POE with EU::AI 0.60 soonish. CPANPLUS 0.050 and later had a problem with EU::AI 0.5x; while I'm trying to solve it at the cpanplus end, it may not be always as smooth as it can be. Ok. This commit upgrades ExtUtils::AutoInstall to 0.60. 2004-09-17 07:11:04 by rcaputo MANIFEST 1.105; lib/POE/Kernel.pm 1.300; lib/POE/Loop/IO_Poll.pm 1.31 In retrospect, it was rather dumb to rename Poll.pm to IO-Poll.pm. While the hyphen makes a great filesystem character, it's not very good for package names. Perl tends to think you're subtracting barewords, and things just don't work out right. This commit renames IO-Poll.pm to IO_Poll.pm. I hope this fixes it for good. 2004-09-16 01:38:17 by rcaputo tests/90_regression/ton-stop-corruption.t 1.2 Turn on ASSERT_DEFAULT, like we're supposed to in tests. 2004-09-16 00:26:13 by rcaputo; MANIFEST 1.104; lib/POE/Kernel.pm 1.299; lib/POE/Resource/FileHandles.pm 1.11; tests/90_regression/ton-stop-corruption.t 1.1 Ton Hospel discovered that stop() from some event handlers causes the session that called it to be reaped twice. The second reap triggers an inconsistency error when ASSERT_DEFAULT is enabled. This patch adds a check to see whether a session is dead by the time its handler returns (and bypasses a lot of moot garbage collection in the rare cases that it is). It adds a performance penalty across the board. There's probably a better way, but this is more immediate. This patch also includes Ton's test case as a proper regression test. 2004-09-14 00:16:12 by rcaputo lib/POE/Loop/TkCommon.pm 1.9; lib/POE/Queue/Array.pm 1.6 Ton Hospel made a couple interesting observations about POE's event loop. First, the code could be tightened up. Perl assignments are relatively expensive, and restructuring the code to avoid them means a few percent increase in performance. His example appears as a comment in POE::Queue::Array, marked with his name. His second observation is that the Tk loop is about twice as slow as it should be. Our workaround for high-priority Tk timers is rather stupid. Ton works around it by maintaining separate "immediate" and timer queues, and not using Tk to drive the immediate events. I've commented on his idea in POE::Loop::TkCommon. 2004-09-08 05:59:59 by rcaputo; lib/POE/Kernel.pm 1.298; lib/POE/Loop/PerlSignals.pm 1.6; lib/POE/Loop/TkCommon.pm 1.8; lib/POE/Resource/Signals.pm 1.12; lib/POE/Session.pm 1.101; tests/20_resources/00_base/signals.pm 1.2; tests/30_loops/00_base/k_signals.pm 1.2; tests/30_loops/00_base/ses_session.pm 1.2 This commit moves signal deprecations forward. It incorporates a number of changes: POE has stopped dispatching _signal publicly. It's still used internally, but programs will not receive it. Attempting to register a _signal event handler will still result in a fatal error, however. This has the nice benefit of pushing problems on users rather than allowing them to fester quietly as bizarre runtime behavior. I'm all for that since it's less support problems. The return values of signal handlers are not significant anymore, and you will not receive errors based on them. Using sig_handled() is mandatory if you want to handle signals. POE does not always register handlers for most of %SIG anymore. Instead, it registers the handlers as needed when you call $kernel->sig(). This means that Ctrl+Z (^Z) WILL suspend any program that has not set a TSTP handler. Signal dispatch is vastly simplified. It should be significantly faster, although most programs won't notice a difference. Signal dispatch is not that common. Tests for deprecated behaviors have been removed. Old emacs-style indenting has been changed to more conventional indenting here and there. The ses_session.pm test sometimes dumps core under Tk. It's not consistent, and I'm not sure why. 2004-09-05 00:32:34 by rcaputo; mylib/coverage.perl 1.14 Stop excluding tests themselves. The reports don't cover all of the POE modules when they are excluded. 2004-09-04 23:14:51 by rcaputo; tests/10_units/05_filters/03_http.t 1.2 This test contained a hardcoded path to t/19_filterchange.t, which I just SO totally broke. I replaced it with $0 which seems to work pretty well. 2004-09-04 23:06:14 by rcaputo; mylib/gen-tests.perl 1.1 This utility derives tests based on templates and different environments. 2004-09-04 22:50:40 by rcaputo; tests/10_units/01_preprocessor/01_preprocessor.t 1.1; tests/10_units/01_preprocessor/02_macro_usebytes.t 1.1; tests/10_units/02_pipes/01_base.t 1.1; tests/10_units/02_pipes/02_oneway.t 1.1; tests/10_units/02_pipes/03_twoway.t 1.1; tests/10_units/03_base/01_poe.t 1.1; tests/10_units/03_base/02_api_resloader.t 1.1; tests/10_units/03_base/03_component.t 1.1; tests/10_units/03_base/04_driver.t 1.1; tests/10_units/03_base/05_filter.t 1.1; tests/10_units/03_base/06_loop.t 1.1; tests/10_units/03_base/07_queue.t 1.1; tests/10_units/03_base/08_resource.t 1.1; tests/10_units/03_base/09_resources.t 1.1; tests/10_units/03_base/10_wheel.t 1.1; tests/10_units/03_base/11_assert_usage.t 1.1; tests/10_units/03_base/12_assert_retval.t 1.1; tests/10_units/03_base/13_assert_data.t 1.1; tests/10_units/04_drivers/01_sysrw.t 1.1; tests/10_units/05_filters/01_block.t 1.1; tests/10_units/05_filters/02_grep.t 1.1; tests/10_units/05_filters/03_http.t 1.1; tests/10_units/05_filters/04_line.t 1.1; tests/10_units/05_filters/05_map.t 1.1; tests/10_units/05_filters/06_recordblock.t 1.1; tests/10_units/05_filters/07_reference.t 1.1; tests/10_units/05_filters/08_stream.t 1.1; tests/10_units/05_filters/50_stackable.t 1.1; tests/10_units/05_filters/99_filterchange.t 1.1; tests/10_units/06_queues/01_array.t 1.1; tests/20_resources/00_base/aliases.pm 1.1; tests/20_resources/00_base/controls.pm 1.1; tests/20_resources/00_base/events.pm 1.1; tests/20_resources/00_base/extrefs.pm 1.1; tests/20_resources/00_base/filehandles.pm 1.1; tests/20_resources/00_base/sessions.pm 1.1; tests/20_resources/00_base/sids.pm 1.1; tests/20_resources/00_base/signals.pm 1.1; tests/20_resources/00_base/statistics.pm 1.1; tests/30_loops/00_base/all_errors.pm 1.1; tests/30_loops/00_base/comp_tcp.pm 1.1; tests/30_loops/00_base/k_alarms.pm 1.1; tests/30_loops/00_base/k_aliases.pm 1.1; tests/30_loops/00_base/k_detach.pm 1.1; tests/30_loops/00_base/k_selects.pm 1.1; tests/30_loops/00_base/k_signals.pm 1.1; tests/30_loops/00_base/ses_nfa.pm 1.1; tests/30_loops/00_base/ses_session.pm 1.1; tests/30_loops/00_base/wheel_accept.pm 1.1; tests/30_loops/00_base/wheel_run.pm 1.1; tests/30_loops/00_base/wheel_sf_ipv6.pm 1.1; tests/30_loops/00_base/wheel_sf_tcp.pm 1.1; tests/30_loops/00_base/wheel_sf_udp.pm 1.1; tests/30_loops/00_base/wheel_sf_unix.pm 1.1; tests/30_loops/00_base/wheel_tail.pm 1.1; tests/90_regression/neyuki_detach.t 1.1; tests/90_regression/suzman_windows.t 1.1 These are the wonderful tests we're adding to replace the stinky old ones. Some of these are the stinky old ones in new clothes, but just for a little while until we can make less stinky ones from them. 2004-09-04 22:34:03 by rcaputo Makefile.PL 1.30; mylib/Makefile-5005.pm 1.43 Migrate the prompt bypassing code out of the 5.5+ Makefile generator and into the base Makefile.PL. This is the code that skips interaction if STDIN isn't a terminal, or if --default is specified. 2004-09-04 22:19:10 by rcaputo; MANIFEST 1.103; Makefile.PL 1.29; mylib/Makefile-5004.pm 1.25; mylib/Makefile-5005.pm 1.42 Commit the new tests, the new utilities to support them, and necessary changes to the install and distribution scripts. 2004-09-04 22:07:06 by rcaputo; MANIFEST 1.102 Remove the existing tests to make room for the new ones. 2004-09-04 21:49:41 by rcaputo; mylib/coverage.perl 1.13 Ignore modules within the test directory. Also allow coverage of individual files on the command line. Great for one-off coverage reports to see where a test program is deficient. ============================= Beginning of Recorded History =============================