2004-01-27 20:15:21 by rcaputo; MANIFEST.SKIP 1.7 Add more development artifacts. 2004-01-27 20:09:27 by rcaputo Build.PL 1.2; mylib/Makefile-5005.pm 1.34 The last commit DID modify META.yml. The new MakeMaker generates a Makefile clause that creates META.yml during "make dist". That clobbers the more complete Build.PL version we've been using. This commit patches lib/Build.PL to find POE.pm in its current location. It also patches Makfile-5005.pm so that "make dist" does not generate a META.yml. Finally it commits a working META.yml. In the future, META.yml should come out of cvs, and "make dist" should generate a proper one. 2004-01-27 19:18:16 by rcaputo; lib/POE.pm 1.167 Bump POE.pm up to 0.28. META.yml doesn't change, but cvs still includes it here. Silly cvs. 2004-01-26 00:20:06 by sungo; lib/POE/Filter/HTTPD.pm 1.35 add docs to warn about possible brokenness with libwww 2004-01-25 06:39:53 by sungo; t/30_filter_httpd.t 1.6 add tests for large multipart form data posts 2004-01-25 06:19:26 by sungo; lib/POE/Filter/HTTPD.pm 1.34 remove spurious warn 2004-01-25 06:14:34 by sungo; lib/POE/Filter/HTTPD.pm 1.33 add a better error condition in the case of a POST request in a 0.9 transaction. 2004-01-25 05:50:44 by sungo; t/30_filter_httpd.t 1.5 rip out the hack workaround. specify the protocol using the http::request method 2004-01-25 02:51:07 by sungo; MANIFEST 1.95 test 2004-01-25 02:49:14 by sungo; t/30_filter_httpd.t 1.4 remove skip block around no longer skipped tests. remove a warning 2004-01-25 01:54:58 by rcaputo; lib/POE/Wheel/ReadWrite.pm 1.67 Apocalypse found a bug in the documentation for put(). This is such a major thing, I'm shocked nobody reported it sooner. 2004-01-23 06:08:32 by sungo; t/30_filter_httpd.t 1.3 turn on the simple post tests after working around the HTTP::Request::Common bug that was causing them to fail 2004-01-23 05:39:14 by sungo; t/30_filter_httpd.t 1.2 add HEAD tests. add PUT and POST tests which are currently skipped due to known bugs 2004-01-23 05:32:40 by sungo; MANIFEST 1.94 add the new test to the manifest 2004-01-23 05:06:34 by sungo; NEEDS 1.8 keep NEEDS parser from looking into the bundled AUtoInstall.pm for strange non-needed needs 2004-01-22 06:02:11 by sungo; mylib/Makefile-5004.pm 1.16; mylib/Makefile-5005.pm 1.33; t/30_filter_httpd.t 1.1 (!!) Add core prerequisite of Test::More. Add the beginnings of tests of Filter::HTTPD 2004-01-22 04:21:07 by sungo; lib/POE/Filter/HTTPD.pm 1.32 add error messages to every build_error call 2004-01-21 23:01:08 by rcaputo lib/POE/Filter/Block.pm 1.14; t/15_filter_block.t 1.8 Optimize the semantics of Filter::Block's custom length codecs---no more data copying, at least. Document the encoder/decoder subroutines. 2004-01-21 19:53:01 by rcaputo lib/POE/Filter/Block.pm 1.13; t/15_filter_block.t 1.7 Implement Alexander Zangerl's suggestion that Filter::Block have pluggable prepended length codecs. He's writing a C program to interface with a POE server, and he doesn't like the C string terminator (NUL, chr(0)) in the records. This closes rt.cpan.org ticket 3812. 2004-01-21 17:27:01 by rcaputo; MANIFEST 1.93; lib/POE/Kernel.pm 1.277; lib/POE/Loop/Event.pm 1.37; lib/POE/Loop/Gtk.pm 1.44; lib/POE/Loop/Poll.pm 1.30; lib/POE/Loop/Select.pm 1.56; lib/POE/Loop/TkCommon.pm 1.6; lib/POE/Resource/Events.pm 1.10; lib/POE/Resource/Statistics.pm 1.1; lib/POE/Resources.pm 1.6 Renamed POE::Resource::Performance to POE::Resource::Statistics. The new form follows the POE::Resource::{plural thingy here} naming convention, and it opens the door for gathering statistics that may have nothing to do with performance. TRACE_PERFORMANCE has also been renamed TRACE_STATISTICS. 2004-01-21 06:48:25 by rcaputo; lib/POE/Wheel/Run.pm 1.57 Apply Gerald Richter's fix to his earlier patch. This corrects Winsize behavior when STDIN isn't a TTY. 2004-01-21 06:27:46 by sungo; lib/POE/Filter/HTTPD.pm 1.31 style nit pick. replace some random hard \t indents with the majority 2 space indents 2004-01-21 05:28:15 by rcaputo lib/POE/Resource/SIDs.pm 1.9; lib/POE/Resource/Signals.pm 1.10 Minor style changes as a result of adding (then removing) a first stab at mark-and-sweep garbage collection for sessions. Turns out it's not needed just yet. 2004-01-19 22:11:52 by rcaputo; lib/POE.pm 1.166 I accidentally rewrote the documentation for this module. 2004-01-19 21:41:40 by rcaputo; lib/POE/Wheel/ReadLine.pm 1.31 Hardcode some keystroke character sequences for a few common terminals, including the various DEC VT sequences. This should fix the input editing and history for most people. 2004-01-16 16:58:37 by rcaputo lib/POE/Resource/Events.pm 1.9; t/res/filehandles.t 1.6 Commit Nick Williams' patches to add documentation and fix some of the numbers. I also moved the "blocked" checking into POE/Resource/Events so we can also calculate the average blocked time. 2004-01-16 16:44:27 by rcaputo; lib/POE/Kernel.pm 1.276 Document run_one_timeslice(). 2004-01-16 03:46:03 by rcaputo; MANIFEST 1.92; lib/POE/Kernel.pm 1.275; lib/POE/Loop/Event.pm 1.36; lib/POE/Loop/Gtk.pm 1.43; lib/POE/Loop/Poll.pm 1.29; lib/POE/Loop/Select.pm 1.55; lib/POE/Loop/TkCommon.pm 1.5; lib/POE/Resources.pm 1.5; t/res/aliases.t 1.7; t/res/events.t 1.4; t/res/extrefs.t 1.8; t/res/filehandles.t 1.5 Apply Nick Williams' POE::Resource::Performance class and the TRACE_PERFORMANCE hooks to enable runtime wallclock statistics. This may be extended to include CPU time inside POE::Kernel, within POE sessions, etc. It's still raw and experimental code; it does not fairly compare performance between different event loops yet. The various statistics have not been adequately defined, so we cannot verify their accuracy. The profiling code itself contributes to POE's overhead and may skew results against POE. Your mileage may vary. Small parts may present a choking hazard. Use only as directed. 2004-01-15 22:34:04 by rcaputo; lib/POE/Loop/Poll.pm 1.28 Second attempt to define POLLRDBAND if it wasn't already. 2004-01-15 22:18:44 by rcaputo lib/POE/Component/Server/TCP.pm 1.44; lib/POE/Kernel.pm 1.274 Meaningless style tweaks. 2004-01-15 22:17:46 by rcaputo; lib/POE/Loop/Poll.pm 1.27 Define POLLRDBAND if it's not available. This occurs on MacOSX quite frequently. 2004-01-09 23:11:17 by rcaputo; lib/POE/Kernel.pm 1.273 Apply Graham Barr's patch to REALLY disable SIGCHLD polling when running as an Apache handler. 2004-01-05 22:37:36 by rcaputo lib/POE/NFA.pm 1.28; lib/POE/Session.pm 1.97 Wrap postbacks in unblessed, anonymous subs under Tk. Tk blesses its callbacks, which conflicts with our blessed postbacks. This works around the problem. 2004-01-05 22:36:46 by rcaputo; t/08_errors.t 1.51 Quiet some spurious warnings generated by testing the errors that occur when loading mulitple event loops. 2004-01-04 06:14:06 by rcaputo; lib/POE/Wheel/ReadLine.pm 1.30 Matt Cashner pointed out that ^D on an empty line should throw an exception. This commit adds the "eot" exception to do just that. 2003-12-20 19:40:02 by rcaputo; lib/POE/Kernel.pm 1.272 While discussing libevent, I realized that a POE::XS::Loop::Libevent would not have a trigger module. There would be no IO::Poll-like module that causes POE::Kernel to autoload it. So this patch tweaks the loop autoloader to honor explicitly loaded event loops and not try to load the default select loop. 2003-12-18 15:37:00 by rcaputo; lib/POE/Session.pm 1.96 Applied Alex Avriette's documentation patch. This mentions the return values from new() and create(). 2003-12-18 04:29:05 by rcaputo; lib/POE/Wheel/Run.pm 1.56 Applied Gerald Richter's patch to allow setting the child process' window size if it's run in a pty. 2003-12-16 04:58:46 by rcaputo; lib/POE/Kernel.pm 1.271 Improve error detection in the POE::XS::Loop loader. Add autoloading for POE::XS::Loop::Select. 2003-12-16 04:56:49 by rcaputo; lib/POE/Loop/Select.pm 1.54 Reorder the timeout calculation to reduce latency in select(). 2003-12-16 04:55:42 by rcaputo; lib/POE/Resources.pm 1.4 Support auto-loading POE::XS::Resource::Foo if it's available. Fall back to POE::Resource::Foo if the XS version isn't available or cannot load. 2003-12-13 05:37:29 by rcaputo; lib/POE/Kernel.pm 1.270; lib/POE/Resource/Sessions.pm 1.14; t/06_tk.t 1.45 Event loops. Look for POE::XS::Loop::$something before POE::Loop::$something. It should be possible to include arbitrary event loops now (Gtk2, for example). Likewise, now people can start writing XS versions of event loops. 2003-12-12 04:05:06 by rcaputo; lib/POE/Kernel.pm 1.269; lib/POE/Loop/Event.pm 1.35; lib/POE/Loop/Gtk.pm 1.42; lib/POE/Loop/Poll.pm 1.26; lib/POE/Loop/Select.pm 1.53; lib/POE/Loop/Tk.pm 1.43; lib/POE/Loop/TkActiveState.pm 1.7; lib/POE/Loop/TkCommon.pm 1.4 Remove the hardcoding for POE::Loop classes. Now POE::Kernel will walk %INC and compare each module against the files in ./Loop (where "." is wherever POE::Kernel is, according to __FILE__). 2003-12-11 18:06:21 by rcaputo; mylib/cvs-log.perl 1.5 Add a (commented out) option to go back farther in time. What's really needed here is some sort of command-line flag. 2003-12-04 23:15:19 by rcaputo; lib/POE/Session.pm 1.95 Applied a POD typo correction from Alex. 2003-11-28 17:12:08 by rcaputo lib/POE/Kernel.pm 1.268; t/01_sessions.t 1.26 Applied Scott Beck's patch to add a hard POE::Kernel stop. 2003-11-26 03:52:07 by rcaputo; lib/POE/Component/Client/TCP.pm 1.39; lib/POE/Component/Server/TCP.pm 1.43; lib/POE/Driver/SysRW.pm 1.26; lib/POE/Kernel.pm 1.267; lib/POE/Loop/Poll.pm 1.25; lib/POE/Loop/Select.pm 1.52; lib/POE/Pipe.pm 1.12; lib/POE/Queue/Array.pm 1.5; lib/POE/Session.pm 1.94; lib/POE/Wheel/ListenAccept.pm 1.28; lib/POE/Wheel/SocketFactory.pm 1.74 Replace POSIX errno constants with ones from Errno. The Errno module has better errno support than POSIX in "special" environments like ActivePerl. This commit addresses rt.cpan.org ticket #4476. 2003-11-22 17:45:10 by sungo; lib/POE/Loop/Gtk.pm 1.41 change init_check to simply not initialize gtk a second+ time. not sure why init() is passing the second time but init_check() doesnt but whatever. 2003-11-22 16:13:07 by rcaputo lib/POE/NFA.pm 1.27; lib/POE/Resource/Sessions.pm 1.13 Move the parent GC tests out of _data_ses_free and into _data_ses_stop. Currently the former is only called by the latter (and by POE::NFA, which seems to be erroneous anyway since no _parent and _child events happen there). 2003-11-22 15:32:06 by rcaputo; lib/POE/Loop/Gtk.pm 1.40 Allow POE::Kernel->run() to be called multiple times in Gtk programs. Previously, Gtk->check_init() would return failure when called a second time, causing a couple of the tests to fail. This commit fixes rt.cpan.org ticket number 4459. 2003-11-22 05:05:10 by rcaputo; lib/POE/Resource/Extrefs.pm 1.9 Deferring deletion of %kr_extra_refs items caused inconsistencies in the results from _data_extref_count(). I noticed it when Client::HTTP's tests stopped exiting on their own. Tracked it back to Client::DNS, reproduced it there, and used its test suite to verify the error back home in POE::Resource::Extrefs. Whee! Oh, right. This commit backs out that prior "optimization". 2003-11-22 04:55:27 by sungo; t/21_gtk.t 1.20 remove spurious warn i stupidly left in 2003-11-22 04:54:31 by sungo; lib/POE/Loop/Gtk.pm 1.39; t/21_gtk.t 1.19 add gtk initialization error checking. fix gtk test suite to skip the whole suite if gtk initialization fails. 2003-11-21 05:08:26 by rcaputo; lib/POE.pm 1.165; lib/POE/API/ResLoader.pm 1.3; lib/POE/Component.pm 1.6; lib/POE/Component/Client/TCP.pm 1.38; lib/POE/Component/Server/TCP.pm 1.42; lib/POE/Driver.pm 1.15; lib/POE/Driver/SysRW.pm 1.25; lib/POE/Filter.pm 1.13; lib/POE/Filter/Block.pm 1.12; lib/POE/Filter/Grep.pm 1.5; lib/POE/Filter/HTTPD.pm 1.30; lib/POE/Filter/Line.pm 1.24; lib/POE/Filter/Map.pm 1.5; lib/POE/Filter/RecordBlock.pm 1.4; lib/POE/Filter/Reference.pm 1.28; lib/POE/Filter/Stackable.pm 1.5; lib/POE/Filter/Stream.pm 1.12; lib/POE/Loop.pm 1.3; lib/POE/Loop/Event.pm 1.34; lib/POE/Loop/Gtk.pm 1.38; lib/POE/Loop/PerlSignals.pm 1.4; lib/POE/Loop/Poll.pm 1.24; lib/POE/Loop/Select.pm 1.51; lib/POE/Loop/Tk.pm 1.42; lib/POE/Loop/TkActiveState.pm 1.6; lib/POE/Loop/TkCommon.pm 1.3; lib/POE/Macro/UseBytes.pm 1.3; lib/POE/NFA.pm 1.26; lib/POE/Pipe.pm 1.11; lib/POE/Pipe/OneWay.pm 1.13; lib/POE/Pipe/TwoWay.pm 1.16; lib/POE/Preprocessor.pm 1.31; lib/POE/Queue.pm 1.3; lib/POE/Queue/Array.pm 1.4; lib/POE/Resource.pm 1.3; lib/POE/Resource/Aliases.pm 1.10; lib/POE/Resource/Events.pm 1.8; lib/POE/Resource/Extrefs.pm 1.8; lib/POE/Resource/FileHandles.pm 1.9; lib/POE/Resource/SIDs.pm 1.8; lib/POE/Resource/Sessions.pm 1.12; lib/POE/Resource/Signals.pm 1.9; lib/POE/Resources.pm 1.3; lib/POE/Session.pm 1.93; lib/POE/Wheel.pm 1.18; lib/POE/Wheel/Curses.pm 1.11; lib/POE/Wheel/FollowTail.pm 1.48; lib/POE/Wheel/ListenAccept.pm 1.27; lib/POE/Wheel/ReadLine.pm 1.29; lib/POE/Wheel/ReadWrite.pm 1.66; lib/POE/Wheel/Run.pm 1.55; lib/POE/Wheel/SocketFactory.pm 1.73 Ok. So I'm braindead from staring into SOAP modules all day. I figured I'd do this one no-brainer just to say I accomplished something today. I replaced all the $VERSION strings with Dilithium Crystals. Let's see who notices. Bonus: No more retrograde releases, at least not after one last CPAN cataclysm. 2003-11-21 05:01:27 by rcaputo; lib/POE/Kernel.pm 1.266 Exploratory commit of the new $VERSION code. 2003-11-20 19:21:57 by rcaputo lib/POE/Kernel.pm 1.265; lib/POE/Resource/Sessions.pm 1.11 Reimplement _stop, mostly by moving the side effects out of _dispatch_event and into _data_ses_stop. This further shrinks _dispatch_event (some of POE's hottest code) and factors out more of the recursion and side effects that made it so difficult to work with. 2003-11-20 17:13:41 by rcaputo; lib/POE/Kernel.pm 1.264 Nick Williams at Morgan Stanley reported that the new "Please mail the following information to...." message shows up even when _trap() is caught from within eval{}. This commit closes his rt.cpan.org ticket, number 4436. 2003-11-19 21:28:54 by rcaputo lib/POE/Wheel/ReadWrite.pm 1.65; lib/POE/Wheel/Run.pm 1.54 Add shutdown_stdin() to POE::Wheel::Run. Refactor some code in POE::Wheel::ReadWrite. I have no idea why teh other files are being pulled into this commit; they have no changes listed in "cvs diff". 2003-11-13 18:28:47 by rcaputo; lib/POE/Resource/Aliases.pm 1.9; lib/POE/Resource/Events.pm 1.7; lib/POE/Resource/Extrefs.pm 1.7; lib/POE/Resource/FileHandles.pm 1.8; t/res/extrefs.t 1.7 Move some delete() calls to the finalize stage of resource cleanup. Many of the session-keyed structures can linger until the session is destroyed. This saves tests in hotter code, which should show up as a minor performance boost. Hopefully no leaks are created here. 2003-11-13 17:08:00 by rcaputo MANIFEST 1.91; lib/POE/Kernel.pm 1.263; t/regress/neyuki-detach.t 1.1 Neyuki discovered that detach_myself() was not working from _start, nor was it working at all. This commit fixes the latter problem, but detach_myself() from _start is not completely fixed. Turned the test case into a regression test, and started t/regress for these things. 2003-11-13 03:11:49 by rcaputo; lib/POE/Resource/Sessions.pm 1.10 Add explanations to some of the _trap() calls, and comment on why we don't do garbage collection at what might otherwise be considered a good place for it. 2003-11-10 23:20:55 by rcaputo lib/POE/NFA.pm 1.25; lib/POE/Session.pm 1.92; t/01_sessions.t 1.25 Applied Dan McCormicks's callback() patch. 2003-11-06 20:37:16 by rcaputo; lib/POE/Component/Server/TCP.pm 1.41 Applied a patch from Eric (l2kashe) that lets you specify different input and output filters for client sessions at the outset. To be sure, you may still set different filters on $heap->{client} directly, but this avoids the extra step. Applied Damir Dzeko's patch to support UNIX sockets, but this is neither a documented nor permanent patch. A better solution will probably be to abstract most of Server::TCP into a base class and derive Server::TCP and Server::UNIX from it. 2003-11-06 20:34:07 by rcaputo; lib/POE/Component/Client/TCP.pm 1.37 Re-establish aliases on reconnect. Nick Williams discovered that disconnect would clear aliases but reconnect wouldn't restore them. 2003-11-04 04:48:33 by rcaputo lib/POE/Kernel.pm 1.262; lib/POE/Session.pm 1.91 Document TRACE_DESTROY, and modify it to use POE::Kernel::_warn() so it can be redirected somewhere other than STDERR. 2003-11-04 04:43:20 by rcaputo; lib/POE/Session.pm 1.90 Make TRACE_DESTROY more useful. 2003-11-04 02:18:42 by rcaputo; lib/POE/Wheel/SocketFactory.pm 1.72 "rmah" and "czth" reported that Solaris and some BSD variants define a SOMAXCONN that is much smaller than what they can really handle. Using SOMAXCONN as a hint and clipping the listen queue to it will hinder application scalability in some cases. I seem to recall it being put there because setting the listen queue too high breaks some systems. So it's commented out for now; we'll see who notices. 2003-11-02 05:10:29 by rcaputo lib/POE.pm 1.164; lib/POE/NFA.pm 1.24; lib/POE/Session.pm 1.89 Propagate the POE::Kernel TRACE and ASSERT constants into any other package that is interested in them. This passes environment variables down into other packages. 2003-11-02 04:51:48 by rcaputo lib/POE/Kernel.pm 1.261; lib/POE/Session.pm 1.88 Generalize POE's environment variable handling so you can specify arbitrary POE_foo. These override the constants previously defined. It's now possible to define asserts and traces not currently supported by POE::Kernel. More importantly, it means you can set POE_ASSERT_STATES for POE::Session (and possibly new things yet undetermined). Thanks to Nick Williams pointed out that POE_ASSERT_STATES wasn't supported. 2003-10-29 23:50:58 by rcaputo; lib/POE/Component/Client/TCP.pm 1.36; lib/POE/Component/Server/TCP.pm 1.40 Various Disconnect callbacks weren't actually called when a remote end disconnected while the local end had output for it. This was a side effect of {Client,Server}::TCP's helpful flush-before-disconect code. Unfortunately, the components didn't account for the fact that the remote end might not be there. "Apocalypse" discovered this condition during load testing and was nice enough to track it down. Thanks! The other two files have whitespace changes. Darn CVS for wanting to commit them, but what can y'do? 2003-10-29 21:36:06 by rcaputo; lib/POE.pm 1.163 Increase version to 0.2701, to indicate we're in between-release CVS mode. 2003-10-20 05:13:52 by rcaputo; lib/POE/Wheel/Run.pm 1.53 Add another no-END/no-DESTROY method for terminating a child process. 2003-10-20 05:13:21 by rcaputo; lib/POE/Resource/Events.pm 1.6 Note a logic error in the cleanup code. The error isn't damaging, but it does incur more overhead than necessary during session destruction. 2003-10-16 15:54:06 by rcaputo; lib/POE/Wheel/Run.pm 1.52 Bline pointed out that kill(0) sent SIGTERM. Added a defined() to support kill(0), and documented the default. 2003-10-08 15:27:00 by rcaputo; lib/POE/Loop/Gtk.pm 1.37 There are no Gnome equivalents for Gtk->main() and Gtk->main_quit(), so remove them.
Back to POE CHANGES.