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 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 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 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 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).
Back to POE CHANGES.