========================= 2002-12-09 18:14:46 v0_24 ========================= 2002-12-09 18:14:46 by rcaputo; POE/Wheel/SocketFactory.pm 1.66 Remove some Win32 warnings about constant prototypes. 2002-12-09 16:21:42 by rcaputo; POE.pm 1.153 Bump version to 0.24. 2002-12-09 16:20:15 by rcaputo; README 1.102 Pre-release tweaks. 2002-12-08 16:54:23 by rcaputo; MANIFEST 1.80 Include MANIFEST.SKIP. 2002-12-05 20:37:20 by rcaputo; POE/Driver/SysRW.pm 1.23 Applied Garrett Goebel's patch to support EWOULDBLOCK as a recoverable error on MSWin32. 2002-12-05 20:24:38 by rcaputo MANIFEST.SKIP 1.1; lib/Makefile-5005.pm 1.26 Add Makefile targets for PPM-compatible tarballs. 2002-11-27 20:55:30 by rcaputo; POE/Component/Client/TCP.pm 1.26 Fix the documentation for Started (was documeted as Start, which is wrong). Thanks to Rob Fugina for spotting this. 2002-11-27 17:52:28 by rcaputo; POE/Wheel/SocketFactory.pm 1.65 Cygwin requires the exception flag be checked on sockets in order to detect connect() errors. As far as I know, no other system does. Disable the exception check on non-cygwin systems, as it interferes with Tk (which cannot check for exceptions as of version 800.023). 2002-11-27 08:06:26 by rcaputo; POE/Component/Client/TCP.pm 1.25 Applied Pedro Melo Cunha's patch to add a Started callback and an Args list for passing values into the component without using closures. 2002-11-20 18:00:50 by rcaputo; POE/Wheel/SocketFactory.pm 1.64 Added and documented pause_accept() and resume_accept() methods. 2002-11-20 17:57:41 by rcaputo; POE/Wheel/ReadWrite.pm 1.61 Fixed a paste error in the documentation. 2002-11-19 19:23:00 by rcaputo; POE/Wheel/ReadLine.pm 1.26 Carthag on efnet #poe pointed out that the last patch (also a response to his feedback) died outright if LE wasn't present. Also, there is no "ri" in termcap(5), so I'm faking it by printing part of the input string again. It works pretty well for being icky. :) 2002-11-19 18:44:05 by rcaputo; POE/Wheel/ReadLine.pm 1.25 Support le and ri in addition to LE and RI. We'll need to support Term::Info (or the moral equivalent) also, because many operating systems don't deign to include termcap. Bleah. 2002-11-19 18:02:09 by rcaputo; POE/Kernel.pm 1.222 Found and fixed the error in TRACE_DEFAULT: _dispatch_event() was trying to look up session aliases and other information before a session had started, so that stuff didn't exist. Instant crash. 2002-11-19 17:42:06 by rcaputo; POE/Kernel.pm 1.221 Fixed explained return values when using TRACE_RETVALS. 2002-11-12 17:18:25 by rcaputo; POE/Wheel/SocketFactory.pm 1.63 Apply Garrett Goebel's patch to make dynamic constants inline-able. ==================================== 2002-11-08 17:11:54 before_xs_branch ==================================== 2002-11-08 17:11:54 by rcaputo POE/Kernel.pm 1.220; POE/Wheel/SocketFactory.pm 1.62 Applied Garrett Goebel's SocketFactory patch to support non-blocking connect() on MSWin32. The patch also includes his notes on possible side effects and a better algorithms for avoiding them. This may fix several long-standing problems under Windows. 2002-11-08 16:20:11 by rcaputo; POE/Wheel/Run.pm 1.42 Jos Boumans provided a testcase for Wheel::Run not sending CloseEvent. It turned out that we were setting socket readers based on the presence of StdoutEvent and StderrEvent, but we were incrementing the internal activitiy counter based on the presence of pipe handles. Two handles always exist (for pipes) regardless of the presence of events for them. The fix is to always register readers for child STDERR and STDOUT (lest one block!) but not emit events when they aren't wanted. We catch their closure, and things should work better now. 2002-11-07 20:04:14 by rcaputo; POE/Kernel.pm 1.219 Fixed some of the Kernel traces that were confessing instead of warning. That caused POE to exit after the message, which was definitely not right. 2002-11-05 21:03:32 by rcaputo; POE/Wheel.pm 1.17 Applied Garrett Goebel's doc fixes. 2002-11-03 14:40:17 by rcaputo; POE/Loop.pm 1.2 Described the timer features needed in more detail, per Stef's feedback. 2002-11-01 16:43:26 by rcaputo; POE.pm 1.152 Fixed a typo reported by Jeffz. 2002-11-01 14:59:16 by rcaputo POE/Component/Client/TCP.pm 1.24; POE/Component/Server/TCP.pm 1.30 Add examples of Filter and ClientFilter parameters, thanks to a question on their nature by Abdul Fatah. 2002-10-27 22:57:53 by rcaputo; POE/Kernel.pm 1.218 Addi mentioned using event counts to short-circuit queue sweeps. I forgot to do that in _data_ev_clear_session(). This patch adds it. 2002-10-26 11:59:39 by rcaputo; POE.pm 1.151; POE/Filter/Grep.pm 1.4; POE/Filter/Map.pm 1.4; POE/Filter/Reference.pm 1.27; POE/Filter/Stackable.pm 1.4; POE/Kernel.pm 1.217; POE/Loop/Select.pm 1.42; POE/Wheel/ReadLine.pm 1.24 I discovered the podchecker utility, and ran it on POE's documentation. Ow! The errors are fixed, but not the warnings. 2002-10-26 06:21:28 by rcaputo; POE.pm 1.150 Bump the version up to 0.2303. Feature freeze is over, la la la. =========================== 2002-10-25 17:04:16 v0_2302 =========================== 2002-10-25 17:04:16 by rcaputo; Makefile.PL 1.25 Update the ithreads warning, and make the delay for it a little longer so people can digest it. 2002-10-25 16:13:36 by rcaputo; POE.pm 1.149 Bump the version to 0.2302 for release. Feature freeze. Only commit bug fixes. 2002-10-25 15:53:46 by rcaputo; README 1.101 Minor edits before 0.2302 is tarred up. 2002-10-25 15:04:38 by rcaputo; t/00_coverage.t 1.16 Clean up an error message regarding Wheel::ReadLine and Term::Cap. 2002-10-25 06:56:09 by rcaputo; POE/Kernel.pm 1.216; POE/Loop/Event.pm 1.32; POE/Loop/Gtk.pm 1.31; POE/Loop/Poll.pm 1.19; POE/Loop/Select.pm 1.41; POE/Loop/Tk.pm 1.38 [May Break Code] Clean up the ASSERT_ and TRACE_ messages, and standardize their categories. The _DEFAULT ones still work. :) 2002-10-25 06:52:29 by rcaputo; lib/cpan-test.perl 1.2 Fixed a problem where the newest versions of a module were deleted rather than the oldest ones. Minor aesthetic changes, too. 2002-10-21 00:08:02 by rcaputo; POE/Wheel/Run.pm 1.41 Only import what we need. 2002-10-20 20:55:22 by rcaputo; POE/Component/Client/TCP.pm 1.23; POE/Component/Server/TCP.pm 1.29; POE/Kernel.pm 1.215; POE/NFA.pm 1.18; POE/Session.pm 1.81; t/03_aliases.t 1.11; t/11_signals_poe.t 1.23; t/22_wheel_run.t 1.28; t/23_nfa.t 1.4 Added a mandatory warning whenever a signal is handled by returning true from its event handler. POE versions since 0.20 have recommended using sig_handled() instead. Added a mandatory warning whenever a "_signal" event handler is registered. POE versions since 0.20 have recommended using sig() to register explicit handlers rather than using catch-all _signal event. Added a mandatory warning when calling sig_handled() in a "_signal" handler. This includes handling signals from "_default". Removed _signal handlers from components and tests, since they now cause warnings. For the tests which need to handle signals, we now call sig() to register those handlers. Removed _signal from the list of events which generate the "... but session foo has neither that state nor a _default state to handle it" warnings. Otherwise removing _signal handlers would trade one warning for another. 2002-10-20 20:35:51 by rcaputo; POE/Wheel/FollowTail.pm 1.39; POE/Wheel/ListenAccept.pm 1.26; POE/Wheel/ReadWrite.pm 1.60; POE/Wheel/SocketFactory.pm 1.61 Removed support for /.*State/ parameters and upgraded their use from warnings to errors. This is a scheduled change, per http://poe.perl.org/?POE_RFCs/XyzState_to_XyzEvent 2002-10-18 20:43:22 by rcaputo; POE/Component/Client/TCP.pm 1.22 Applied Casey Zacek's patch adding a ConnectTimeout to Client::TCP. 2002-10-14 23:04:45 by rcaputo; lib/cpan-test.perl 1.1 This little ditty runs all the /^POE::/ modules on the CPAN against the local CVS version of POE. Useful for regression testing and uncovering problems in components. 2002-10-14 17:44:41 by rcaputo; POE/Kernel.pm 1.214 Applied James March's patch to move the final leak checking out of END and into explicitly called finalize() functions. This prevents the checks from being triggered on crashes (which always leave some cruft behind). 2002-10-11 21:21:41 by rcaputo MANIFEST 1.79; POE/Queue.pm 1.1; POE/Queue/Array.pm 1.2 Moved POE::Queue::Array documentation to POE::Queue and made it generic (only minor edits). Replaced POE::Queue::Array documentation with a pointer to POE::Queue's. 2002-10-09 14:36:27 by rcaputo; MANIFEST 1.78; POE/Kernel.pm 1.213; POE/Loop.pm 1.1; POE/Loop/Event.pm 1.31; POE/Loop/Gtk.pm 1.30; POE/Loop/Poll.pm 1.18; POE/Loop/Select.pm 1.40; POE/Loop/Tk.pm 1.37 Classified the unclassified accessors as helpers, and tidied up their names to match their new category. Documented the abstract POE::Loop interface as POE/Loop.pm, and documented the specific loops with pointers back to it. 2002-10-07 20:40:24 by rcaputo; lib/cvs-log.perl 1.3 While just admiring the cvs logs this generates, I noticed that I had badly formatted the dates. This swaps month and day in the log so that the dates make sense. 2002-10-04 16:30:30 by rcaputo; POE/Kernel.pm 1.212 Renamed the VEC_* constants to MODE_* because they no longer are tied to select() bit vectors. Also renamed the FVC_* constants to FMO_* for the same reason. Tweaked the way _dispatch_event() is called as part of the voodoo of fixing Gtk and Event (see earlier commit). 2002-10-04 16:27:38 by rcaputo POE/Loop/Event.pm 1.30; POE/Loop/Gtk.pm 1.29 Fixed file descriptor tracking. The first rewrite was broken because different access modes (read, write) would overwrite themselves for the same file descriptor. This version separates watchers by descriptor and mode, fixing LordVorp's problem and probaly also jerakeen's. Also cleaned up some of the warning messages, renamed VEC to MODE throughout, and fixed the _dispatch_event calls to match Kernel.pm's definition for that function. 2002-10-04 16:19:49 by rcaputo POE/Loop/Poll.pm 1.17; POE/Loop/Select.pm 1.39; POE/Loop/Tk.pm 1.36 Clean up the trace/assert messages a little bit. Rename VEC to MODE throughout. Standardize the _dispatch_event() calls to match changes in Kernel.pm. 2002-10-03 18:59:38 by rcaputo; POE/Wheel/Run.pm 1.40 Reset all signal handlers to DEFAULT in the child process. Leaving POE's signal handlers active was the wrong thing to do. Thanks to JamesCOU for finding this bug. 2002-10-03 12:43:17 by rcaputo; POE/Kernel.pm 1.211 Add TRACE_RELATIONS, and move extra-reference garbage collection so that it doesn't trigger a duplicate _stop event *from* a _stop event. This clears up the last of the known bugs introduced by accessorizing POE::Kernel's internal structures. 2002-10-03 06:55:26 by rcaputo; POE/Kernel.pm 1.210; POE/Loop/Event.pm 1.29; POE/Loop/Gtk.pm 1.28; POE/Loop/Poll.pm 1.16; POE/Loop/Select.pm 1.38; POE/Loop/Tk.pm 1.35 Normalized the parameters for the enqueue and dequeue functions in POE::Kernel, and their use throughout all the files. Tracked down and stomped a file descriptor reference count inconsistency. Tested POE against its own tests, and tested my components against POE. All tests successful. However, more work needs to be done: A lot of warnings come up when SIGINT'ing a program. 2002-10-02 22:58:20 by rcaputo; POE/Kernel.pm 1.209 Implement POE_TRACE_FOO and POE_ASSERT_FOO environment variables. These let you turn on traces and assertions without modifying any code. Also cleaned up a leak in the extra refcount management, and tidied up some error messages. 2002-10-02 18:54:59 by rcaputo; POE/Kernel.pm 1.208 Undo the inline "optimization" from the last commit. The function needs to exist for scoping reasons. 2002-10-02 18:38:33 by rcaputo; POE/Kernel.pm 1.207 Chop up all the long (>79 chars) lines. Inline a function that was only called from one place. Fix a misspelled method name, which caused Rob Bloodgood's program to fail. 2002-10-02 07:01:36 by rcaputo; POE/Kernel.pm 1.206; POE/Loop/Event.pm 1.28; POE/Loop/Gtk.pm 1.27; POE/Loop/Poll.pm 1.15; POE/Loop/Select.pm 1.37; POE/Loop/Tk.pm 1.34 Split Kernel.pm into several subsystems. Although they are in the same file, their data structures have been separated and hidden as lexicals in private scopes. The only way to modify them is through public accessors. The next step in the refactor will be to clean up the accessors, but I wanted to commit things while it still passes "make test". 2002-10-02 06:58:20 by rcaputo; t/08_errors.t 1.40 I copped out, sorry. I removed some parameter syntax test which created wheels outside of any session. The resulting good syntax came out as errors because POE freaked when it tried to put the wheels somewhere that didn't exist. I hope to make up for tonight's lameness with a decent suite of unit tests later. 2002-10-02 06:54:56 by rcaputo; POE.pm 1.148 We're going to try a different version numbering scheme. Odd subversions will be for CVS stuff. Even subversions will be web-only releases. As always, plain versions (which only go out to the hundredths place) are reserved for stable CPAN releases. Bump the version to 0.2301 to kick off the CVS phase (kind of late, though). 2002-10-02 06:27:41 by rcaputo; t/22_wheel_run.t 1.27 Wheel::Run contains its own exit code, which tries to thwart object destruction so POE's own destructors aren't triggered. The exit statement in the coderef test was thwarting it, causing all kinds of false leak detection. 2002-09-30 02:43:46 by sungo; POE/Wheel/FollowTail.pm 1.38 remove -l check on files which fixes spurious warning when encountering a filehandle 2002-09-28 02:53:26 by rcaputo; POE/Wheel/FollowTail.pm 1.37 Be more conscientious about cleaning up when FollowTail is destroyed. 2002-09-28 00:20:57 by rcaputo POE/Wheel/FollowTail.pm 1.36; t/14_wheels_ft.t 1.10 Split FollowTail into two modes: plain-file mode which uses "blocking" I/O and timer based polling on disk files, and fifo/socket mode which uses non-blocking I/O and select-based polling on special files. This should do the right things for sockets, pipes, and plain files. Because it avoids NBIO and select() on disk files, it should also work on Windows and VMS. 2002-09-27 02:23:24 by rcaputo; POE/Kernel.pm 1.205; POE/Loop/Event.pm 1.27; POE/Loop/Gtk.pm 1.26; POE/Loop/Poll.pm 1.14; POE/Loop/Select.pm 1.36; POE/Loop/Tk.pm 1.33 Attempt to binmode() tied files, although do it in a block eval in case it fails. Don't bother making plain files (-f $handle) nonblocking, since it rarely makes a difference and sometimes really honks off the operating system (aka: POE dies in the attempt). Oh, and much code movement (aka: refactoring). Still not done with that. 2002-09-26 19:51:09 by rcaputo; samples/preforkedserver.perl 1.13 Deprecated and moved. The entire program is replaced by a brief message pointing to its new location on the web. 2002-09-25 19:45:00 by rcaputo; MANIFEST 1.77; POE/Kernel.pm 1.204; POE/Loop/Event.pm 1.26; POE/Loop/Gtk.pm 1.25; POE/Loop/Poll.pm 1.13; POE/Loop/Select.pm 1.35; POE/Loop/Tk.pm 1.32; t/08_errors.t 1.39 Rename POE::Kernel::* to POE::Loop::*. People following along with CVS will need to "cvs update -dP" or check the whole thing out again. 2002-09-25 06:30:20 by rcaputo; POE/Kernel.pm 1.203; POE/Loop/Event.pm 1.25; POE/Loop/Gtk.pm 1.24; POE/Loop/Poll.pm 1.12; POE/Loop/Select.pm 1.34; POE/Loop/Tk.pm 1.31 Beginning of the refactoring that will move all POE data structure access into accessors. When this is done, the public interfaces will be totally separate from the internal data munging. That should let the data structures be redone in C without affecting the public interfaces. 2002-09-25 03:05:29 by rcaputo; POE/Queue/Array.pm 1.1 How could I have forgotten to add this before? Duh! 2002-09-24 23:47:18 by rcaputo; t/22_wheel_run.t 1.26 Apply sungo's fix for tcaine's Wheel::Run test failures on MacOS X. It turns out I forgot to catch an unhandled event after I made ASSERT_DEFAULT die outright on those things. It never occurred in testing, although it could have at any time. 2002-09-24 22:26:22 by rcaputo; POE/Kernel.pm 1.202; POE/Loop/Event.pm 1.24; POE/Loop/Gtk.pm 1.23; POE/Loop/Poll.pm 1.11; POE/Loop/Select.pm 1.33; POE/Loop/Tk.pm 1.30 Finish separating POE::Kernel from the event loop bridges. 2002-09-24 06:32:41 by rcaputo; MANIFEST 1.76; POE/Kernel.pm 1.201; POE/Loop/Event.pm 1.23; POE/Loop/Gtk.pm 1.22; POE/Loop/Poll.pm 1.10; POE/Loop/Select.pm 1.32; POE/Loop/Tk.pm 1.29; t/001_queue.t 1.1 Extract POE's queue code into POE::Queue::Array. 2002-09-24 06:22:55 by rcaputo; t/02_alarms.t 1.11 Increase the size of the "large queue" tests. They were never made larger when POE's "large queue" threshold was raised. 2002-09-24 06:18:05 by rcaputo; TODO 1.34 Fix the URL of POE's RFCs. 2002-09-22 23:55:27 by sungo; Makefile.PL 1.24 add a warning about ithreads bug to Makefile.PL. 2002-09-19 01:49:32 by sungo; POE/Wheel/ReadLine.pm 1.23 convert the last remaining macros to subroutines. samples/readline.perl runs flawlessly and all tests pass ============================================ 2002-09-21 05:57:28 before_queue_abstraction ============================================ 2002-09-21 05:57:28 by rcaputo; POE/Kernel.pm 1.200; POE/Loop/Event.pm 1.22; POE/Loop/Gtk.pm 1.21; POE/Loop/Poll.pm 1.9; POE/Loop/Select.pm 1.31; POE/Loop/Tk.pm 1.28 More code cleanup. Simplified Select.pm and Poll.pm by removing a block of code that already exists as a function in Kernel.pm. Minor optimizations in Select.pm by moving a loop into a function rather than calling the function once per iteration. 2002-09-18 07:03:18 by rcaputo; POE/Kernel.pm 1.199; POE/Loop/Event.pm 1.21; POE/Loop/Gtk.pm 1.20; POE/Loop/Poll.pm 1.8; POE/Loop/Select.pm 1.30; POE/Loop/Tk.pm 1.27 Remove a public interface symbol from the event loop bridges. Add it to POE::Kernel instead, and have Kernel call the loops as necessary. 2002-09-18 04:04:20 by rcaputo; POE/Kernel.pm 1.198; POE/Loop/Event.pm 1.20; POE/Loop/Gtk.pm 1.19; POE/Loop/Poll.pm 1.7; POE/Loop/Select.pm 1.29; POE/Loop/Tk.pm 1.26 Renamed the event loop "substrate" functions to "loop" functions, since they implement bridges for underlying event loops. Transplanted some loop-specific things from Kernel.pm to the appropriate bridges. The tentacles between Kernel and each event loop are not entirely untangled, but they are much more separate now than before. 2002-09-17 07:09:30 by rcaputo; POE/Filter/HTTPD.pm 1.28 Tatsuhiko Miyagawa pointed out that this module uses HTTP::Response but doesn't load it. 2002-09-17 07:08:18 by rcaputo; POE/Kernel.pm 1.197 Added two environment variables to set ASSERT_DEFAULT and TRACE_DEFAULT for testing. 2002-09-17 05:45:30 by rcaputo; POE/Kernel.pm 1.196; POE/Loop/Event.pm 1.19; POE/Loop/Gtk.pm 1.18; POE/Loop/Poll.pm 1.6; POE/Loop/Select.pm 1.28; POE/Loop/Tk.pm 1.25; POE/NFA.pm 1.17; POE/Session.pm 1.80; POE/Wheel/ReadLine.pm 1.22; t/08_errors.t 1.38 Removed the use of POE::Preprocessor, except in ReadLine.pm which would have a circular reference in closures that I'm not sure how to break otherwise. ========================================== 2002-09-17 03:00:08 before_removing_macros ========================================== 2002-09-17 03:00:08 by rcaputo; POE/Wheel/Run.pm 1.39 Explanation of the ErrorEvent parameters. Patch by Erick Calder. 2002-09-15 16:49:21 by rcaputo; POE/Pipe.pm 1.6 Retry on EWOULDBLOCK or EINPROGRESS rather than dying outright. James March discovered that it would sometimes die outright with those conditions, which is bad for recoverable, advisory errors like those. 2002-09-15 05:09:13 by rcaputo; POE/Kernel.pm 1.195 Erick Calder's clarifications on a couple points regarding delay(). 2002-09-13 07:58:04 by rcaputo; t/06_tk.t 1.38 Fix a misleading skip message (Tk *is* supported, just not fully). ========================= 2002-09-12 16:56:26 v0_23 ========================= 2002-09-12 16:56:26 by rcaputo; README 1.100 Bring it up to date with what's going on. 2002-09-12 16:34:52 by rcaputo; POE.pm 1.147 Bump the version number to 0.23. 2002-09-12 15:07:00 by rcaputo; t/29_sockfact6.t 1.6 Skip a third test which was failing when AF_INET6 was not configured in the kernel. 2002-09-12 14:59:20 by rcaputo; t/29_sockfact6.t 1.5 Skip tests rather than fail if AF_INET6 gethostbyname2() works but none of the socket calls do. This might indicate that while localhost (::1) is resolvable, the interface is not actually configured. It may also indicate while the interface is configured, an unconfigured ipv6 firewall's "deny all" may be blocking it. 2002-09-12 02:46:25 by rcaputo POE/Component/Client/TCP.pm 1.21; POE/Component/Server/TCP.pm 1.28 A previous change to Server::TCP "optimized" some code by moving the ClientDisconnected code to _stop. However, since very little can be done from _stop, this prevented post() calls from working there. I discovered the problem when one of the POE Cookbook recipes stopped exiting as it should. This change moves the ClientDisconnected code back out of _stop. It also pretties the default error handlers for Client::TCP and Server::TCP. 2002-09-11 22:11:05 by rcaputo; POE/Wheel/Run.pm 1.38 Peter Chen discovered and helped solve a problem where the subroutine form of Program caused file handles to bleed into the child process. The result is that sockets linger open beyond the time they're needed-- at least until the child exits. This patch introduces CloseOnCall, which emulates close-on-exec as Perl uses it. 2002-09-10 19:55:32 by rcaputo lib/Makefile-5004.pm 1.12; lib/Makefile-5005.pm 1.25 Compatibility enhancements for running test reports on Windows platforms. 2002-09-08 22:05:50 by rcaputo; POE/Wheel/Run.pm 1.37 Apply JamesCOU's doc patch that stops saying things are optional when they aren't. 2002-09-08 15:05:09 by rcaputo; POE/Component/Server/TCP.pm 1.27 Publish ClientShutdownOnError, which sets the defalut value of all client sessions' $heap->{shutdown_on_error} flags. 2002-09-08 00:26:20 by rcaputo; README 1.99 Remove the link to the deprecated stinky hand-maintained test results. The shiny, pretty automated one is much better. Go there, or else! 2002-09-05 17:08:01 by rcaputo; lib/cvs-log.perl 1.2 Multi-file commits on slow links are sometimes smeared across several timestamps. Previously the report would present them as separate commits with identical descriptions. Now it detects and combines them. 2002-09-04 01:18:47 by rcaputo; POE/Wheel/ReadLine.pm 1.21 Applied James M.'s patch to correct some bad example code in the SYNOPSIS. 2002-09-03 19:54:03 by rcaputo; t/29_sockfact6.t 1.4 It is possible to load Socket6 yet still not have IPv6 configured on the system. Added a check for IPv6 localhost ("::1") and skip the tests if one isn't available. =========================== 2002-09-03 16:01:42 v0_2201 =========================== 2002-09-03 16:01:42 by rcaputo lib/Makefile-5004.pm 1.11; lib/Makefile-5005.pm 1.24 Rebuild the XML test report if Makefile has changed. 2002-09-03 15:47:24 by rcaputo lib/Makefile-5004.pm 1.10; lib/Makefile-5005.pm 1.23 Fix paths to cvs-log.perl. 2002-09-03 15:45:57 by rcaputo; README 1.98 Last minute tweaks. 2002-09-03 04:40:04 by rcaputo; MANIFEST 1.75; lib/cvs-log.perl 1.1 Added cvs-log.perl; added the report upload utility to MANIFEST. 2002-09-03 04:39:23 by rcaputo; POE/Filter/HTTPD.pm 1.27 Fixed an undefined warning in a seldom-used block of code. 2002-09-01 16:05:33 by rcaputo; t/03_aliases.t 1.10 sungo spotted a warning in this test. It turns out that the test was printing "ok 15" twice instead of 15 and 16. Fixed. 2002-08-31 23:13:22 by sungo; MANIFEST 1.74 revert last patch. my mistake 2002-08-31 23:10:14 by sungo; MANIFEST 1.73 remove Macro/UseBytes from the manifest 2002-08-31 22:54:28 by rcaputo; POE.pm 1.146 Bump the version to 0.2201 and start a feature freeze. 2002-08-31 22:41:03 by sungo; README 1.97 document the test server and the makefile targets 2002-08-30 22:17:41 by rcaputo POE/Component/Client/TCP.pm 1.20; POE/Component/Server/TCP.pm 1.26 Added a heap flag for these components: shutdown_on_error. When cleared, it becomes the end developer's responsibility to handle errors and shut down connections when they occur. It defaults to true, which preserves the old behavior of the components shutting connections down. 2002-08-30 05:14:38 by rcaputo; samples/filterchange.perl 1.7; samples/socketfactory.perl 1.17; samples/tutorial-chat.perl 1.12 Replaced three sample programs with pointers to their updated counterparts on the web. 2002-08-30 03:59:58 by rcaputo POE/Component/Client/TCP.pm 1.19; t/29_sockfact6.t 1.3 Added BindAddress and BindPort support, allowing client connections to come from specific interfaces on a multi-host system. 2002-08-30 03:29:47 by rcaputo; t/29_sockfact6.t 1.2 Skip all tests if Socket6 is not loadable. 2002-08-29 20:43:30 by rcaputo; lib/testreport.pl 1.11 Add an AUTHOR section. Pedantic, yes, but credit where it's due. 2002-08-29 20:42:45 by rcaputo; lib/reportupload.pl 1.2 Added documentation and a note at the end where submitters can find their results. 2002-08-29 20:40:19 by rcaputo lib/Makefile-5004.pm 1.9; lib/Makefile-5005.pm 1.22 Replace cvs2cl with a home-made program that creates much nicer CHANGES files. 2002-08-29 14:48:30 by rcaputo POE/Wheel/SocketFactory.pm 1.60; t/29_sockfact6.t 1.1 Fixed SocketFactory to support ipv6 host names rather than presentation (human readable numeric) addresses. Added the test program I forgot when the initial support went in. 2002-08-29 05:25:42 by rcaputo; MANIFEST 1.72; POE/Component/Client/TCP.pm 1.18; POE/Component/Server/TCP.pm 1.25; POE/Wheel/SocketFactory.pm 1.59; lib/Makefile-5005.pm 1.21 Added initial IPv6 support. 2002-08-27 04:12:33 by rcaputo; POE/Kernel.pm 1.194; t/03_aliases.t 1.9 Applied jinzougen's patch to have alias_list return an arbitrary alias in scalar context. 2002-08-27 02:32:01 by rcaputo; POE/Component/Client/TCP.pm 1.17 Applied a modified version of Averell's patch to let a Client::TCP component connect to a different address and/or port. It first disconnects from any established server. This feature is experimental pending documentation and tests. 2002-08-26 22:25:28 by rcaputo POE.pm 1.145; POE/Kernel.pm 1.193; t/11_signals_poe.t 1.22 Michael Stevens discovered a situation where signals could trigger a session's destruction twice. The symptom is a "session does not exist" error in Session.pm. This patch adds a simplified version of his test case to t/11_signals_poe.t, clarifies the "session does not exist" error message, and prevents what is essentially a double-free error in POE::Kernel. Other files, such as Session.pm and Select.pm were touched during the course of this fix but essentially remain unchanged. 2002-08-20 19:37:32 by rcaputo; POE/Kernel.pm 1.192; POE/Loop/Event.pm 1.18; t/00_coverage.t 1.15; t/04_selects.t 1.15; t/06_tk.t 1.37; t/07_event.t 1.15; t/21_gtk.t 1.15 L. Leo reported that run() could not be called twice in the same program. That was true for a number of reasons revolving around signal handling and the need to clean up the Kernel's data structures before run() returned. I have made run() re-callable by re-setting the signal handlers from within run() and by re-initializing the Kernel's data structures too. All tests pass, including L. Leo's test case. 2002-08-19 03:52:01 by rcaputo; POE/Wheel/SocketFactory.pm 1.58 Cristiano Lincoln Mattos reported that SocketFactory was not emitting connect errors on Cygwin+Win2k. His debugging pinpointed the section in the code where the problem lay, and with his assistance I was able to put together a working patch. He also tested the patch on Win2k and Linux, while I tested it on FreeBSD. Other tests are forthcoming, but I wanted to get the patch into CVS before that. 2002-08-19 03:10:21 by sungo lib/Makefile-5004.pm 1.8; lib/Makefile-5005.pm 1.20 add make targets for reportupload 2002-08-19 03:07:49 by sungo; lib/reportupload.pl 1.1 script to upload a test report 2002-08-18 18:35:09 by sungo lib/Makefile-5004.pm 1.7; lib/Makefile-5005.pm 1.19 make the testreport target smarter. checks for existence of poe_report.xml and doesnt rerun the report generator if it exists. 2002-08-18 18:17:01 by sungo lib/Makefile-5004.pm 1.6; lib/Makefile-5005.pm 1.18 add make testreport target to, guess what, generate the test report :) 2002-08-15 19:49:44 by rcaputo; POE/Wheel/FollowTail.pm 1.35 LordVorp discovered that Wheel/FollowTail does not document its defaults for Filter and Driver. They are now documented. 2002-08-04 19:14:04 by rcaputo; POE/Macro/UseBytes.pm 1.2 James March found some debugging prints leftover from testing. They are removed. 2002-08-04 18:58:15 by rcaputo POE/Kernel.pm 1.191; POE/Loop/Poll.pm 1.5; POE/Loop/Select.pm 1.27 James March is trying to tweak a POE program for performance. He was kind enough to provide some Devel::SmallProf output so I could track bottlenecks within POE itself. It turns out that @kr_filenos was a very hot data structure, and it was used primarily in ways that made more sense as a hash. This commit changes @kr_filenos into %kr_filenos. All tests pass. 2002-08-04 18:55:40 by rcaputo; POE/Session.pm 1.79 Invoke inline states with idiomatically correct Perl. This is probably just a syntactic tweak. 2002-07-31 20:05:24 by rcaputo; MANIFEST 1.71; POE/Driver/SysRW.pm 1.22; POE/Filter/Block.pm 1.11; POE/Filter/HTTPD.pm 1.26; POE/Filter/Reference.pm 1.26; POE/Kernel.pm 1.190; POE/Macro/UseBytes.pm 1.1; POE/Wheel/ReadLine.pm 1.20; POE/Wheel/SocketFactory.pm 1.57 Sergey Skvortsov reported that Driver::SysRW uses length() to count octets in buffers, which is broken in newer versions of Perl that support Unicode. In the Unicode sense, length() returns the number of CHARACTERS in a buffer, which may be fewer than the number of octets. This change adds POE/Macro/UseBytes, which is a backward-compatible way of including C in files. It also adds use_bytes directives to wherever looks appropriate. 2002-07-31 18:50:21 by rcaputo; POE/Kernel.pm 1.189 "When three people tell you you're sick, lie down." Matt Cashner, Artur Bergman, and Todd Caine told me the "POE::Kernel's run() method was never called." warning was annoying. I suggested not emitting the warning if no sessions were created (so perl -c and some tests don't carp). That seemed ok with everyone, so this commit implements that change. 2002-07-31 18:43:01 by rcaputo; t/26_comp_tcp.t 1.2 Changes in Client::TCP and server::TCP caused errors in the tests. I cleaned up some of the error checking and added some subtests. 2002-07-31 18:40:51 by rcaputo POE/Component/Client/TCP.pm 1.16; POE/Component/Server/TCP.pm 1.24 (!!!) Peter Chen is writing a SOAP server that exercises Server::TCP's error handling and shutdown semantics. These changes apply modified versions of his patches to Server::TCP, and corresponding shutdown patches to Client::TCP. Error handling is subtly different now; check your code for lingering connections. 2002-07-29 22:34:44 by rcaputo POE/Component/Client/TCP.pm 1.15; POE/Component/Server/TCP.pm 1.23 James March noted that Client::TCP and Server::TCP don't mention how to send a response on their connected sockets. While omitting such an important fact from the docs is a great way to make people read them carefully, it's better to include the information. 2002-07-17 06:39:21 by rcaputo; POE/Filter/Reference.pm 1.25 Added tentative (untested) YAML support. It was a trivial extension of the Storable and FreezeThaw code. What could possibly go wrong? 2002-07-16 17:40:15 by rcaputo; POE/Loop/Gtk.pm 1.17 In a tight yield() loop, POE::Kernel::Gtk would fire and reset timers so fast that it would pre-empt window painting. The symptom was empty Gtk windows. This patch interleaves timer and idle events so that Gtk has a chance to catch up with POE. 2002-07-15 23:21:27 by rcaputo; t/08_errors.t 1.37 Standardize skip messages, and use Symbol's delete_package() function instead of the hand-rolled function to delete all the symbols in a package. This should vastly reduce the number of warnings we need to work around. 2002-07-15 23:20:11 by rcaputo; t/00_coverage.t 1.14; t/01_sessions.t 1.21; t/06_tk.t 1.36; t/07_event.t 1.14; t/09_wheels_unix.t 1.13; t/11_signals_poe.t 1.21; t/12_signals_ev.t 1.16; t/17_filter_ref.t 1.5; t/18_filter_line.t 1.6; t/19_filterchange.t 1.10; t/21_gtk.t 1.14; t/22_wheel_run.t 1.25; t/27_poll.t 1.5; t/28_windows.t 1.3 Standardize the skip messages. See the style guide at poe.perl.org for a list of message formats. 2002-07-09 21:15:53 by rcaputo; POE/Kernel.pm 1.188 Fix a documentation nit pointed out by Randal Schwartz. 2002-07-09 21:14:48 by rcaputo POE/Loop/Event.pm 1.17; POE/Loop/Tk.pm 1.24 Randal Schwartz discovered a problem in POE::Kernel::Event where it would not permit an idle program to shut down. It turned out that an optimization in Kernel garbage collection prevented GC from being tested if there were events in the queue. Newer SIGCHLD polling keeps at least one event in the queue at all times, so GC was never being tweaked. It turns out that POE::Kernel::Tk has the same problem. These beg the question: How were the tests ever working? Note: It might be better to differentiate between Kernel's events and Sessions' events, and force GC when Sessions' count reached 0. 2002-07-08 23:23:26 by rcaputo; lib/Makefile-5005.pm 1.17 Some people find the dependency prompts annoying. This change adds a note telling these heathens how they can bypass the prompts. 2002-07-08 23:10:28 by rcaputo POE/Kernel.pm 1.187; t/01_sessions.t 1.20; t/03_aliases.t 1.8 PerlPanda on dalnet was disturbed that POE exports $poe_kernel into main. While that can't be changed right now, this change supports two other ways to call run(). Either first call POE::Kernel->new() to get a copy of $poe_kernel, or just call POE::Kernel->run() directly. They are essentially syntactic sugar to mollify OO purists. 2002-07-08 23:04:54 by rcaputo POE/Wheel/Run.pm 1.36; t/00_coverage.t 1.13 Tidy up a skip message for the test scoreboard. 2002-07-08 13:32:27 by rcaputo; lib/testreport.pl 1.10 Don't accuse MacOS Classic (and other user-less operating systems) of being Windows. That's just uncalled for. 2002-07-08 13:31:29 by rcaputo; POE.pm 1.144 Document that the samples are moving to the POE Cookbook. 2002-07-08 03:09:56 by rcaputo; samples/followtail.perl 1.9; samples/httpd.perl 1.16; samples/neural-net.perl 1.2; samples/proxy.perl 1.18; samples/ref-type.perl 1.5; samples/refsender.perl 1.15; samples/refserver.perl 1.16 Replaced these files with pointers to their counterparts in the POE Cookbook. Eventually these files will be removed altogether, along with the directory they rode in on. 2002-07-07 19:12:07 by sungo; lib/testreport.pl 1.9 strip the t/ off the file name in case its run from the root of the checkout 2002-07-07 18:40:09 by sungo; lib/testreport.pl 1.8 adding closing quotes on the skip reason helps with parsing :) 2002-07-07 18:30:08 by sungo; lib/testreport.pl 1.7 fix use lib to make testreport runnable from the root of the checkout. stop deleting detailed results. fixes failing test reports. add skipped test detail to the report. 2002-07-07 18:13:00 by sungo; MANIFEST 1.70 correct the test::harness::iterator entry 2002-07-07 04:38:59 by rcaputo; lib/testreport.pl 1.6 Move C higher so it catches Test::Harness and friends. Work around some unsupported things under Windows. 2002-07-07 04:32:35 by sungo; MANIFEST 1.69 update manifest for test::harness goodness so it'll ship with the tarball 2002-07-07 03:41:12 by sungo; lib/Test/Harness.pm 1.1; lib/Test/Harness/Assert.pm 1.1; lib/Test/Harness/Iterator.pm 1.1; lib/Test/Harness/Straps.pm 1.1 add new version of test::harness for convenience use in testreport.pl 2002-07-07 03:11:09 by rcaputo; MANIFEST 1.68 Added testreport.pl so it will be included in tarballs. 2002-07-07 01:01:31 by rcaputo; lib/testreport.pl 1.5 Make the program runnable from lib/ or /, and make it fetch the tests to run from Makefile (so it doesn't run tests skipped by AutoInstall). 2002-07-06 23:25:18 by sungo; lib/testreport.pl 1.4 get the actual user id not the root one. 2002-07-06 23:07:23 by sungo; lib/testreport.pl 1.3 strip file names better. add username, hostname, and gmtime to the report 2002-07-06 22:02:25 by sungo; lib/testreport.pl 1.2 correct the test directory. 2002-07-06 21:34:05 by sungo; lib/testreport.pl 1.1 move testreport.pl to lib. add failing test reporting to testreport.pl ========================= 2002-07-04 03:10:05 v0_22 ========================= 2002-07-04 03:10:05 by rcaputo; POE.pm 1.143 All the mentioned problems in 0.2101 were fixed. Looks like it's clean. Bump the version to 0.22 for release. 2002-07-01 15:57:43 by rcaputo; t/08_errors.t 1.36 Cleared up a warning about Filter being deprecated. Thanks to ignatz for pointing it out. =========================== 2002-07-01 04:26:05 v0_2101 =========================== 2002-07-01 04:26:05 by rcaputo; POE.pm 1.142 Bump version to 0.2101 for release. 2002-07-01 02:16:31 by rcaputo; POE/Wheel/Run.pm 1.35 Todd Caine requested a "Driver" parameter for Wheel::Run. While I was adding one, I realized that STDIN, STDOUT *and* STDERR were all sharing a single internal driver instance. That's bad because three handles cannot reliably share a single driver (which can only read on one handle and write on one handle reliably). This may have uncovered a nasty bug in Wheel::Run. Thankfully, 0.22 has not yet been released. 2002-06-30 21:37:46 by rcaputo; lib/ExtUtils/AutoInstall.pm 1.2 Updated to ExtUtils::AutoInstall 0.33. 2002-06-30 21:14:59 by rcaputo; POE/Driver/SysRW.pm 1.21 Document why SysRW does not use BlockSize for syswrite(), and fix the BlockSize documentation so that it does not apply to syswrite(). 2002-06-30 20:24:11 by rcaputo; POE/Loop/Poll.pm 1.4; t/27_poll.t 1.4 As I once learned long ago, IO::Foo tends to be slow. In the old case, it was IO::Select. Now I've discovered that IO::Poll is slow as well. This is the price one pays for using generic modules, however. I researched IO::Poll and discovered its internal _poll function, which is written in XS. POE::Kernel::Poll was revised to use that directly rather than incurring overhead from using the public interface. I only hope I can keep up with IO::Poll changes. POE::Kernel::Poll should really be better than select() now regarding latency and scalability, if only a little bit. 2002-06-28 02:22:30 by rcaputo; POE/Kernel.pm 1.186 Matt Sergeant noticed that POE::Wheel::Run sometimes creates defunct (zombie) processes. I suspected that it was a race between program shutdown and POE::Kernel's reaper. Matt was able to verify this by adding some non-blocking reaper code after run() was called. I added code to POE::Kernel that keeps it alive as long as there are outstanding child processes. This will ensure that they're reaped (no more defunct zombies). 2002-06-28 02:17:01 by rcaputo; POE.pm 1.141 Clean up the overview of Filter::Reference after someone (I forget! Baud? Kane?) pointed out a typo. Thanks, whoever you are. 2002-06-25 07:12:15 by rcaputo; POE/Loop/Tk.pm 1.23 Worked around a memory leak in Tk 800.023. Thanks to Zoltan Kandi for reporting the leak (usenet message-ID:3D16D3B2.11FC919E@tellabs.com) and Slaven Rezic (usenet message-ID:87elevetz9.fsf@vran.herceg.de) for the way to avoid it. 2002-06-22 06:39:31 by rcaputo; POE/Wheel/Run.pm 1.34 Update the documentation and carps and croaks to guide people away from the deprecated Filter parameter. 2002-06-22 06:24:52 by rcaputo POE/Wheel/Run.pm 1.33; t/22_wheel_run.t 1.24 (!!!) POE::Wheel::Run's Filter parameter was broken as designed. A single Filter instance cannot possibly filter three filehandles! The fix was to replace Filter with StdioFilter, which only filters STDIN and STDOUT. StderrFilter must be specified separately. It's easy to write code that is compatible with the old and new interfaces (for a module, for example). Just use StdinFilter, StdoutFilter, and StderrFilter explicitly. 2002-06-22 06:21:29 by rcaputo; t/00_coverage.t 1.12; t/01_sessions.t 1.19; t/08_errors.t 1.35; t/09_wheels_unix.t 1.12; t/28_windows.t 1.2 Iain Chalmers reported 0.20 test failures under MacOS 9.1. These changes address some of the the issues he discovered. They mainly fall under the categories of signals, UNIX sockets, socketpair(), and fork() incompatibilities between UNIX systems and MacOS pre-X. 2002-06-22 06:18:11 by rcaputo POE/Loop/Poll.pm 1.3; lib/Makefile-5005.pm 1.16; t/27_poll.t 1.3 Richard Soderberg pointed out a couple things, which are now fixed. First, it's possible to run the IO::Poll tests with an older version by saying "no" to installing a newer one. That leads to test failures later on. The work-around is to add checks in POE::Kernel::Poll and t/27_poll.t for the proper IO::Poll version. Second, he pointed out that a few dependencies were missing from the installer. Added! 2002-06-22 06:15:33 by rcaputo POE/Pipe.pm 1.5; POE/Pipe/OneWay.pm 1.10; POE/Pipe/TwoWay.pm 1.12 Skip socketpair() and pipe() on MacOS pre-X. Even with a vastly improved Perl build, these systems seem to have strange problems with non-blocking socketpair() and pipe(). ========================= 2002-06-19 17:24:58 v0_21 ========================= 2002-06-19 17:24:58 by rcaputo; POE.pm 1.140 Increase the version number to 0.21. 2002-06-18 22:18:37 by rcaputo POE/Component/Client/TCP.pm 1.14; POE/Component/Server/TCP.pm 1.22 (!!!) Change the ClientFilter and Filter parameters in Server::TCP and Client::TCP respectively. They were recently "enhanced" to accept filter instances, and they would create filter instances from class names internally. However, this new "feature" meant that every connection SHARED THE SAME FILTER. The changes now let them accept class names and optional constructor parameters, and the components will instantiate new filters for each connection. "MarkClone" on efnet reported that the POE Cookbook web server was only honoring its first request; the remainders were bombing out with an error which led me to this problem. 2002-06-18 22:13:11 by rcaputo; POE/Wheel/SocketFactory.pm 1.56 Extend the description of SuccessEvent's INET address field. This is in response to Jos Boumans' question about it. 2002-06-18 21:59:02 by rcaputo; POE/Filter/HTTPD.pm 1.25 Prettied up the error dump some more. 2002-06-18 21:23:13 by rcaputo; POE/Filter/HTTPD.pm 1.24 Justify the offsets in error dumps so things line up better. 2002-06-18 21:21:24 by rcaputo; POE/Filter/HTTPD.pm 1.23 When the HTTP parser writes a hex dump, make it use a fixed font so things line up. 2002-06-13 23:49:32 by rcaputo; POE/Preprocessor.pm 1.30 Update the instructions for using POE::Processor with PerlApp. Thanks to Zoltan Kandi for making sure it works. 2002-06-11 17:02:59 by rcaputo; NEEDS 1.7 Peter Chen noticed that the NEEDS file did not list Storable as one of POE::Filter::Reference's dependencies. Now it does. :) 2002-06-10 17:53:18 by rcaputo; t/00_coverage.t 1.11 This test never called POE::Kernel's run() method, so we got a warning about that. Now it's all better. 2002-06-10 17:47:07 by rcaputo; POE/Kernel.pm 1.185 feelicks had a problem where his program never ran. It was traced back to not calling $poe_kernel->run(). This happens to me ALL THE TIME, and feelicks (and I) is sure it happens to a lot of people. I added a flag that's set when run() is called. POE::Kernel's DESTROY will warn the programmer/operator if that flag is not set. 2002-06-09 18:32:12 by rcaputo lib/Makefile-5004.pm 1.5; lib/Makefile-5005.pm 1.15 Fix the cvs2cl invocations so they really include CHANGES files in tarballs. The order of operations in "make dist" means that PREOP occurs AFTER CHANGES is copied into the tarball tree. D'oh! ========================= 2002-06-08 03:29:19 v0_20 ========================= 2002-06-08 03:29:19 by rcaputo; POE.pm 1.139; README 1.96 Final preparations for releasing POE 0.20. 2002-06-08 01:58:31 by rcaputo lib/Makefile-5004.pm 1.4; lib/Makefile-5005.pm 1.14 Have Makefile.PL touch the CHANGES file so that "make dist" will find it. Even though we generate CHANGES from the CVS log, WriteMakeFile needs to see something there first. 2002-06-07 04:17:09 by rcaputo; lib/Makefile-5004.pm 1.3 Perl 5.004_03 didn't like AUTHOR and ABSTRACT, so I removed them. 2002-06-07 04:14:26 by rcaputo; lib/Makefile-5005.pm 1.13 Perl 5.005_03 didn't like bareword IO::Poll on the left side of the => operator. I put quotes around it, and things seem to be generally better. 2002-06-07 04:13:18 by rcaputo; POE/Loop/Tk.pm 1.22; t/06_tk.t 1.35 Philip Gwyn discovered a "modification of a read-only value" error in POE::Kernel::Tk's file watcher pause/resume code. I adapted a previous plain-Tk testcase to verify the behavior outside POE. It's there in Tk on Perl 5.004_05. The testcase doesn't fail with Perl 5.005_03, so it looks like an incompatibility between Tk and the older version of Perl. I've decided to discontinue Tk support in Perl versions before 5.005_03. If anyone has a vested interest in the older Perls + Tk + POE, I can provide the test case for their debugging pleasure. 2002-06-06 05:19:59 by rcaputo; t/27_poll.t 1.2 Philip Gwyn spotted that TestSetup wasn't being used here. That's what I get for testing stuff on systems that have everything. 2002-06-03 15:34:34 by rcaputo lib/Makefile-5004.pm 1.2; lib/Makefile-5005.pm 1.12 Added the second bit of sungo's Makefile magic. This part generates POE's CHANGES automatically from the cvs log. No more twiddling with it by hand! Yay! P.S., Everybody better commit decent change descriptions, or else. 2002-06-03 04:46:04 by rcaputo; lib/Makefile-5005.pm 1.11 Remove IPC::Run (we're not using it yet). =========================== 2002-06-02 16:03:24 v0_1901 =========================== 2002-06-02 16:03:24 by rcaputo; POE.pm 1.138 Bump version number to 0.1901 2002-06-02 16:02:50 by rcaputo; POE/Preprocessor.pm 1.29 Fixed a missing symbol warning when expanded source dumping is off. 2002-06-01 22:13:56 by rcaputo; lib/Makefile-5005.pm 1.10 Disable t/27_poll.t if IO::Poll is not installed. 2002-06-01 22:13:17 by rcaputo; t/00_coverage.t 1.10 Prettified another message pertaining to a missing optional dependency. Made an old one more cleare (gods, I hope) about the missing module being optional. 2002-06-01 22:12:07 by rcaputo; POE/Wheel/ReadLine.pm 1.19 Jos Boumans discovered some segfault-like behavior when using POE::Wheel::ReadLine on MSWin32. ActiveState Perl does not gracefully handle BEGIN{eval{}}, so the BEGIN{} parts were successfully removed. 2002-06-01 22:08:20 by rcaputo; POE/Loop/Poll.pm 1.2 Increased the amount of debugging information when TRACE_SELECT is enabled. Part of the effort to make IO::Poll work on MSWin32. 2002-06-01 22:06:16 by rcaputo; POE/Kernel.pm 1.184 Fixed the bug Ted Suzman reported on MSWin32 (re: SIGCHLD returning positive PIDs). Worked around the fact that IO::Poll is broken (or at least behaving inconsistent with its documentation) on MSWin32. 2002-06-01 22:04:25 by rcaputo; MANIFEST 1.67; t/28_windows.t 1.1 Properly attributed Matt Sergeant (not Scott Beck) for IO::Poll support. Fixed the bug that Ted Suzman reported in Kernel.pm's SIGCHLD handling. True processes return positive PIDs, which were being treated as inconsistencies in POE::Kernel. Added a regression test for this condition. --------------------------------------------------------------------- - --------------------------------------------------------------------- - 2002-05-30 06:40:13 by rcaputo; MANIFEST 1.66; POE.pm 1.137; POE/Kernel.pm 1.183; POE/Loop/Poll.pm 1.1; lib/Makefile-5005.pm 1.9; t/08_errors.t 1.34; t/27_poll.t 1.1 Matt Sergeant contributed POE::Kernel::Poll, an event loop substrate based on IO::Poll. IO::Poll is potentially faster than select() in large scale servers (and other multi-connection programs). I also tweaked a description in the 5005 Makefile so the intent of some modules is more clear. Test 27_poll.t is neat, and I'm glad that it works. It reruns test 04_selects.t with IO::Poll loaded, forcing POE::Kernel::Poll to be used instead of POE::Kernel::Select. 2002-05-30 06:29:40 by rcaputo; t/12_signals_ev.t 1.15 Try to make the skip message so friendly that Windows users don't wonder whether they should install Event.pm. 2002-05-29 05:27:05 by rcaputo; POE/Preprocessor.pm 1.28 Added the ability to dump files with expanded macros. This should let perlapp and perl2exe "compile" POE programs now. 2002-05-29 05:25:53 by rcaputo; POE/Kernel.pm 1.182 Moved C to the top of C so it would see all of the code therein. The "# include" directives are incompatible with the new POE::Preprocessor dump feature, so I removed them. 2002-05-29 05:24:10 by rcaputo; POE/Loop/Event.pm 1.16; POE/Loop/Gtk.pm 1.16; POE/Loop/Select.pm 1.26; POE/Loop/Tk.pm 1.21; POE/NFA.pm 1.16; POE/Session.pm 1.78; POE/Wheel/ReadLine.pm 1.18 Moved the C statement to the top of each package it was in. This lets the preprocessor (and the resulting expanded files) include everything in the package. 2002-05-28 22:53:23 by rcaputo; POE/Kernel.pm 1.181 Applied some of the feedback from Android18, errr, and hdm on #poe. These are minor doc patches to clarify some finer points. 2002-05-28 22:49:15 by rcaputo POE/Wheel/Run.pm 1.32; t/08_errors.t 1.33 I patched POE::Wheel::Run to use POE::Filter::Line by default. This broke a subtest in t/08_errors.t when previously illegal usage became okay. Heh! 2002-05-28 22:46:06 by rcaputo; POE/Wheel/FollowTail.pm 1.34 My previous "fixes" for FollowTail weren't very good. This set of fixes seems to work much better in tests. The problem? Not properly detecting when log files were reset. In the process of fixing it, more debugging information was added, and the BUGS were updated. 2002-05-28 02:01:26 by rcaputo; t/08_errors.t 1.32 Skipped more Wheel::Run based tests. 2002-05-28 02:00:44 by rcaputo; t/04_selects.t 1.14 The new select bug test failed on Win32 because it assumed select() and non-blocking I/O worked on plain files. Fixed it to use a socket instead, which Windows can cope with. 2002-05-28 01:59:48 by rcaputo t/01_sessions.t 1.18; t/22_wheel_run.t 1.23 Make the Win32 skip messages a little friendlier. 2002-05-27 21:53:17 by rcaputo; lib/Makefile-5005.pm 1.8 Re-revised the module categories. I know it's silly to think there ever will be a wording that will satisfy everyone, but still I try. :) 2002-05-27 21:52:24 by rcaputo; POE/Wheel/ReadLine.pm 1.17 ReadLine now assumes vt100 if a TERM environment variable isn't set. 2002-05-27 21:49:51 by rcaputo; POE/Filter/Reference.pm 1.24 Document how easy it is to use YAML with Filter::Reference. Damn, that's sexy. 2002-05-27 21:48:24 by rcaputo POE/Component/Client/TCP.pm 1.13; POE/Component/Server/TCP.pm 1.21 Standardized the semantics of Filter and ClientFilter. Both may now take a POE::Filter class instance or name. For class names, they try building a standard (no parameters) instance of the class internally. 2002-05-27 21:36:31 by rcaputo; POE/Session.pm 1.77 Fixed a typo that Kane found in the docs. 2002-05-27 02:35:54 by rcaputo; lib/Makefile-5005.pm 1.7 ttyS on IRC was confused about the "Optional Full-Screen Child Process Support" message, so I revised them all to be a little less dense. 2002-05-25 19:45:36 by rcaputo POE/Kernel.pm 1.180; t/04_selects.t 1.13 Scott Beck discovered a long-standing (but rarely, if ever heretofore tickled) bug in POE::Kernel's _internal_select(). I tracked it down to a leftover hash key that wasn't removed when necessary. POE::Kernel now deletes it, and t/04_selects.t has a new test. 2002-05-24 21:00:20 by rcaputo POE/Wheel/Run.pm 1.31; t/22_wheel_run.t 1.22 After spending several days beating my head against the fork/exec paradigm on Win32, I have finally concluded that it is not consistently implemented from one Windows version to the next, making it a veritable nightmare of twisty variations to work around. Neither IPC::Open2, IPC::Open3, nor IPC::Run work across the myriad flavors of "Win32", and I have neither the time nor inclination to attempt success where three such modules-- all dedicated to performing this very task, and it alone-- have failed. Arf fthagn poit! (Anyone who does have the time or inclination to fix it is welcome to, though.) 2002-05-24 20:55:52 by rcaputo; lib/Makefile-5005.pm 1.6 Increase the required version for ExtUtils::AutoInstall. 2002-05-23 12:45:19 by rcaputo POE/Wheel/Run.pm 1.30; t/22_wheel_run.t 1.21 Added ARG4 to Wheel::Run's ErrorEvent. This extra parameter indicates the child filehandle that generated the error. For example, "read" error "0" on "STDOUT" means that the child's STDOUT was closed. I also updated the Wheel::Run test to use CloseEvent instead of signals to detect when a child was done. 2002-05-22 22:38:37 by rcaputo; POE/Wheel/Run.pm 1.29 I added CloseEvent to Wheel::Run. This should address a long-standing issue where it was difficult to tell when child processes were done sending information. 2002-05-22 19:06:10 by rcaputo; POE/Driver/SysRW.pm 1.20 Remove a spurious $|=1 leftover from testing. 2002-05-22 18:48:50 by rcaputo; POE/NFA.pm 1.15; POE/Session.pm 1.76 Differentiate between package and object methods in an error message. 2002-05-22 01:41:04 by rcaputo; POE/Kernel.pm 1.179 Made some of the TRACE_SELECT warnings a little more descriptive. 2002-05-21 23:02:22 by rcaputo; MANIFEST 1.65; lib/ExtUtils/AutoInstall.pm 1.1; lib/Makefile-5005.pm 1.5 Moved ExtUtils::AutoInstall to a location where it may be found with a simple "use" statement. Also upgraded it to 0.32. 2002-05-21 22:58:52 by rcaputo; t/09_wheels_unix.t 1.11 Make the "Windows don't do dat!" message a little more professional. 2002-05-21 22:51:22 by rcaputo; t/06_tk.t 1.34 I confirmed that Tk's fileevent watchers are broken on Win32. POE's Tk I/O tests fail without any reads, and the test is being run under Win32, assume that the installed Tk is a broken one. In that case, skip the tests rather than fail them. For all other situations (including working Tk on Win32), the tests should behave normally. 2002-05-21 02:26:01 by rcaputo; POE/Wheel/FollowTail.pm 1.33 While writing a sample program for POE's cookbook, I found that POE::Wheel::FollowTail would detect log resets even when none happened. I revised the way log file resets are detected, and it seems to work much better now. 2002-05-20 19:18:01 by rcaputo; POE/Wheel/ReadLine.pm 1.16 Ekkis found a system where POSIX::Termios::getospeed() on STDIN returned undef. Default the terminal output speed to 38400 in this case. 2002-05-19 02:52:15 by rcaputo; lib/Makefile-5005.pm 1.4 Fixed the filename in the auto-generated CHANGES magic. That's still commented out, though. "make dist" will fail if CHANGES isn't there already; this is because it's in MANIFEST, and the Makefile won't build an incomplete tarball. Added a bit of code to touch the CHANGES file so it always exists after "perl Makefile.PL". That's also commented out for now. 2002-05-18 04:10:02 by rcaputo; lib/Makefile-5005.pm 1.3 Thanks to sungo, I was able to add magic to automatically generate CHANGES from the cvs log. Requires a local copy of cvs2cl.pl. The magic is commented out, however. We'll be hand-rolling CHANGES through the next release since there's already much custom change doc lovin' going on there. 2002-05-18 03:59:03 by rcaputo; POE/Driver/SysRW.pm 1.19 Peter Barabas was going through POE's source and uncovered a logic anomaly :) in Driver::SysRW. I made the logic clearer and hopefully more correct, and I documented a strangeness between what's expected of sysread() and what actually happens. 2002-05-17 01:34:19 by sungo; lib/Makefile-5005.pm 1.2 default the gtk/tk/event tests to not installing all their deps 2002-05-17 01:32:48 by sungo; Makefile.PL 1.23 drop the spurious warn from the makefile 2002-05-15 18:21:54 by rcaputo; Makefile.PL 1.22 Tone down the old-Perl warning. POE hasn't deprecated 5.004 just yet. 2002-05-15 17:44:12 by rcaputo; Makefile.PL 1.21 Change the deprecation warning back to pre-5.005_03. It was at pre-5.005_05 for testing. 2002-05-15 17:38:47 by rcaputo; MANIFEST 1.64; Makefile.PL 1.20; lib/Makefile-5004.pm 1.1; lib/Makefile-5005.pm 1.1 Added sungo's makefile magic. 2002-05-15 17:34:22 by rcaputo; POE/Wheel/Run.pm 1.28; t/08_errors.t 1.31; t/11_signals_poe.t 1.20; t/12_signals_ev.t 1.14; t/22_wheel_run.t 1.20; t/23_nfa.t 1.3 Various work-arounds for fork() not being supported under MacOS 9.x. 2002-05-11 12:52:44 by rcaputo POE/Kernel.pm 1.178; POE/Session.pm 1.75; samples/tk.perl 1.8 Deprecate _signal event, and by association using _default to handle signals. 2002-05-10 12:14:40 by rcaputo; POE/Kernel.pm 1.177 Alter ssid macro so it won't expand in a comment. 2002-05-10 01:42:35 by rcaputo; POE/Component/Server/TCP.pm 1.20 Removed use of deprecated SuccessState and FailureState. Made them SuccessEvent and FailureEvent instead. 2002-05-10 01:41:29 by rcaputo; t/01_sessions.t 1.17; t/02_alarms.t 1.10; t/03_aliases.t 1.7; t/07_event.t 1.13 Remove implicit signal handling from the tests. 2002-05-10 01:40:26 by rcaputo; lib/deptest.perl 1.19 Remove mandatory tracing on Solaris since nobody has reported the problem it was supposed to help track down for a while. 2002-05-10 01:39:04 by rcaputo; POE/Wheel/FollowTail.pm 1.32; POE/Wheel/ListenAccept.pm 1.25; POE/Wheel/ReadWrite.pm 1.59; POE/Wheel/SocketFactory.pm 1.55 Begin the next phase of FooState parameter deprecation in the POE wheels. Now any use of FooState causes a carp. 2002-05-10 01:36:13 by rcaputo; POE/Kernel.pm 1.176 Make TRACE_ and ASSERT_FOO output more friendly. Add sig_handled() and set things in motion for implicit signal handling deprecations. Document sig_handled() and finish documenting the changed signal handling semantics. 2002-04-12 21:06:27 by rcaputo; t/25_detach.t 1.3 Sessions just happened to be destroyed in the proper order for the test to succeed, however, the order depeneded on the position of code and memory use patterns. Altering signal dispatch changed the way memory was used (and sessions were destroyed), uncovering the problem. Revised the test to prevent nondeterministic session destruction from causing future problems. 2002-04-12 21:04:06 by rcaputo; t/22_wheel_run.t 1.19 Add debugging information so that signal dispatch could be monitored. This is part of the three-phase signal dispatch changes. 2002-04-12 21:03:20 by rcaputo; t/08_errors.t 1.30 Three-phase signal dispatch added new constants to POE::Kernel. Clean those constants out of the package between error tests. 2002-04-12 21:02:31 by rcaputo; POE/Kernel.pm 1.175 Implement three-phase signal dispatch. ========================= 2002-03-26 00:23:45 v0_19 ========================= 2002-03-26 00:23:45 by rcaputo; POE.pm 1.136 Increase version to 0.19 2002-03-26 00:20:37 by rcaputo; lib/deptest.perl 1.18 Add blib and blib/lib to lib/deptest.perl, making it more useful for other modules. 2002-03-05 00:06:21 by rcaputo; POE/Kernel.pm 1.174 Tweak the language in a comment. Nothing functional has changed. 2002-03-05 00:02:42 by rcaputo; t/22_wheel_run.t 1.18 A half-hearted attempt at getting the test working on Win32. 2002-03-04 23:59:18 by rcaputo; POE/Wheel/ReadLine.pm 1.15 Rocco found and fixed a circular reference that prevented it (and thus programs) from exeting cleanly. 2002-03-04 23:56:49 by rcaputo; POE/Wheel/Curses.pm 1.10 Turn blocking back on for STDIN, or some curses libraries won't properly refresh the display. 2002-03-04 23:52:55 by rcaputo POE/Pipe.pm 1.4; POE/Pipe/OneWay.pm 1.9; POE/Pipe/TwoWay.pm 1.11 Apply TonyC's suggestion for improved Win32 compatibility. 2002-03-04 23:46:43 by rcaputo; POE.pm 1.135 Updated Windows and MacOS support info. in POE's man page. 2002-02-25 21:45:27 by rcaputo; POE/Kernel.pm 1.173 Wrap binmode() in eval so that it won't die if a tied filehandle doesn't support it. Don't call fcntl() on tied filehandles because that leads to death also. 2002-02-25 06:02:58 by rcaputo POE/Kernel.pm 1.172; POE/Wheel/SocketFactory.pm 1.54 Wrap binmode() in eval{} because tied filehandle classes may die in it or fail to implement it altogether. Both of those conditions will cause a fatal runtime error. 2002-02-17 19:05:50 by rcaputo; POE/Wheel/ReadLine.pm 1.14 Made ReadLine use a private copy of STDIN and STDOUT so that redirecting them won't interfere with the console. 2002-02-17 19:03:44 by rcaputo; POE/NFA.pm 1.14 Add CALLER_FILE and CALLER_LINE parameters. Add a get_runstate() method to fetch a machine's HEAP-like substance. 2002-02-05 01:31:55 by rcaputo; POE/Session.pm 1.74 Remove a blank line. 2002-02-05 01:31:00 by rcaputo; POE/Kernel.pm 1.171 Remove some deadwood. Apply a typo fix that Sungo spotted. 2002-01-25 04:26:24 by rcaputo; POE/Kernel.pm 1.170 Redocument internal data structures. 2002-01-25 04:25:53 by rcaputo; t/00_coverage.t 1.9 Make missing termcap warnings less ugly. 2002-01-25 04:25:34 by rcaputo; POE/Wheel/Curses.pm 1.9 Experimental revision of curses initialization order. 2002-01-25 04:25:08 by rcaputo; POE/Component/Client/TCP.pm 1.12 Call the Disconnect callback on forced shutdown. ========================= 2002-01-20 17:56:22 v0_18 ========================= 2002-01-20 17:56:22 by rcaputo; POE.pm 1.134 Bump the version to 0.18 2002-01-20 17:55:33 by rcaputo; README 1.95 update for 0.18 release 2002-01-20 05:58:38 by rcaputo; POE.pm 1.133 Bump version to 0.1703. Document cookbook. 2002-01-20 05:52:20 by rcaputo; POE/Kernel.pm 1.169 Tweak alarm docs. 2002-01-20 05:51:49 by rcaputo; POE/Wheel/Curses.pm 1.8 Add meta(1) so that international characters may be entered. 2002-01-12 06:13:26 by rcaputo; t/00_coverage.t 1.8 t/00_coverage.t test skips looked an awful lot like errors. Make this class of skipped test look more reasonable. 2002-01-10 20:39:45 by rcaputo; POE.pm 1.132; POE/Component.pm 1.5; POE/Component/Client/TCP.pm 1.11; POE/Driver.pm 1.14; POE/Driver/SysRW.pm 1.18; POE/Filter.pm 1.12; POE/Filter/Block.pm 1.10; POE/Filter/Grep.pm 1.3; POE/Filter/HTTPD.pm 1.22; POE/Filter/Line.pm 1.22; POE/Filter/Map.pm 1.3; POE/Filter/RecordBlock.pm 1.3; POE/Filter/Reference.pm 1.23; POE/Filter/Stackable.pm 1.3; POE/Filter/Stream.pm 1.11; POE/Kernel.pm 1.168; POE/Loop/Event.pm 1.15; POE/Loop/Gtk.pm 1.15; POE/Loop/Select.pm 1.25; POE/Loop/Tk.pm 1.20; POE/NFA.pm 1.13; POE/Pipe.pm 1.3; POE/Pipe/OneWay.pm 1.8; POE/Pipe/TwoWay.pm 1.10; POE/Preprocessor.pm 1.27; POE/Session.pm 1.73; POE/Wheel.pm 1.16; POE/Wheel/Curses.pm 1.7; POE/Wheel/FollowTail.pm 1.31; POE/Wheel/ListenAccept.pm 1.24; POE/Wheel/ReadLine.pm 1.13; POE/Wheel/ReadWrite.pm 1.58; POE/Wheel/Run.pm 1.27; POE/Wheel/SocketFactory.pm 1.53; lib/Devel/Null.pm 1.2; lib/Devel/Trace.pm 1.7; lib/MyOtherFreezer.pm 1.3; lib/TestSetup.pm 1.9 propagate cvs version number as $VERSION 2002-01-10 20:16:34 by rcaputo; POE/Component/Server/TCP.pm 1.19 Add a $VERSION number. 2002-01-04 17:56:41 by rcaputo; POE/Kernel.pm 1.167 increase LARGE_QUEUE_SIZE to 512 2002-01-04 04:39:43 by sungo; POE/Session.pm 1.72 add caller information to the state arguments =========================== 2002-01-03 22:33:56 v0_1702 =========================== 2002-01-03 22:33:56 by rcaputo; POE/Driver/SysRW.pm 1.17; samples/httpd.perl 1.15; samples/refsender.perl 1.14; samples/refserver.perl 1.15 fix my e-mail address 2002-01-03 22:33:06 by rcaputo; t/14_wheels_ft.t 1.9 increase the timeout to make tests more robust 2002-01-03 22:32:38 by rcaputo; POE.pm 1.131 Bump the version number and halfheartedly revise the man page. The documentation project will make much of the man page obsolete. 2002-01-03 22:31:20 by rcaputo; Makefile.PL 1.19 fix e-mail address 2002-01-03 21:15:00 by rcaputo; README 1.94 fix some minor typos 2002-01-03 21:13:09 by rcaputo; README 1.93 revise for imminent 0.1702 release 2002-01-03 03:44:17 by rcaputo; POE/NFA.pm 1.12 remove experimental synchronous stuff 2002-01-02 14:06:01 by rcaputo; t/14_wheels_ft.t 1.8 minor nit fix 2002-01-01 14:19:04 by rcaputo; samples/httpd.perl 1.14 remove a debugging warn 2002-01-01 14:16:39 by rcaputo; t/06_tk.t 1.33 add a comment so something isn't erroneously corrected 2001-12-20 04:15:46 by rcaputo; POE/Component/Server/TCP.pm 1.18 fix bad parameter scarfing in shutdown 2001-12-19 04:09:01 by rcaputo; POE/Component/Server/TCP.pm 1.17 Fixed a stupid closure trick that made every Server::TCP session use the same filter instance. 2001-12-18 22:16:00 by rcaputo; POE/Component/Server/TCP.pm 1.16 flag a server connection as shut down on error 2001-12-18 20:55:57 by rcaputo POE/Component/Client/TCP.pm 1.10; POE/Component/Server/TCP.pm 1.15 increase default block sizes 2001-12-16 20:20:46 by rcaputo; POE/Loop/Select.pm 1.24 re-fix messages 2001-12-16 20:19:35 by rcaputo; POE/Loop/Select.pm 1.23 fix messages 2001-12-16 20:14:08 by rcaputo; POE/Loop/Event.pm 1.14; POE/Loop/Gtk.pm 1.14; POE/Loop/Select.pm 1.22; POE/Loop/Tk.pm 1.19 add more traces to signals stuff 2001-12-12 04:18:59 by rcaputo; POE/Wheel/Run.pm 1.26 set slave pty's window size 2001-12-10 19:07:19 by rcaputo; POE/Kernel.pm 1.166 remove undef warnings in new ASSERT_DEFAULT code 2001-12-10 19:02:11 by rcaputo; POE/Kernel.pm 1.165 -1 is not a process ID on Win32 ============================= Beginning of Recorded History =============================