========================= 2003-05-10 17:20:21 v0_26 ========================= 2003-05-10 17:20:21 by rcaputo; POE.pm 1.159; README 1.104 Increase the version number to 0.26 for release. Revise the README for clarity, conciseness, etc. 2003-05-08 22:54:43 by rcaputo; t/29_sockfact6.t 1.8 Add a warning to explain the most likely cause of this module hanging. Thanks to Somni for reminding me of the problem. 2003-05-04 04:35:59 by rcaputo; POE.pm 1.158 Increase version from 0.2502 (first release candidate for 0.26) to 0.2503 (live CVS for any last minute bug fixes before 0.26). 2003-05-04 04:33:37 by rcaputo; POE.pm 1.157 Increasing the version from 0.2501 (CVS after 0.25) to 0.2502 (first release candidate for 0.26). 2003-05-03 01:46:16 by rcaputo; POE/Wheel/SocketFactory.pm 1.71 A previous patch to shutdown client sockets before they had closed used $self in closures which themselves were stored in $self, resulting in circular references that would prevent the patch from actually working. This patch goes through some gyrations to break those circular references. 2003-05-02 12:55:23 by rcaputo; lib/Makefile-5005.pm 1.28 Require ExtUtils::AutoInstall version 0.50. 2003-05-02 12:48:14 by rcaputo; lib/Makefile-5005.pm 1.27 Add ExtUtils::AutoInstall's postamble() so the automatic installation things work. 2003-05-02 12:36:20 by rcaputo; POE/Wheel/ReadWrite.pm 1.62 Added the ability to shutdown() input/output on a ReadWrite wheel attached to a socket. Thanks to Peter Chen for suggesting it. 2003-04-29 22:18:31 by rcaputo; POE/Kernel.pm 1.240 Applied Nick Williams' patch to avoid internal inconsistency problems with signals use: > When using the kernel's signal() method to send a user-defined > signal, it's possible to get a signal dispatched to a session which > is in the process of shutting down (i.e. about to call the _stop > event). However, the garbage collection in > _data_sig_free_terminated_sessions doesn't take this into account > and can cause POE to die screaming with an internal inconsistency > error in _data_ses_collect_garbage. 2003-04-29 15:52:59 by rcaputo POE/Kernel.pm 1.239; POE/NFA.pm 1.19; t/23_nfa.t 1.6 Fix POE::NFA's stop() method. Previously it was using POE::Kernel's session_free() method, which was recently renamed. 2003-04-21 14:54:36 by rcaputo; POE/Kernel.pm 1.238 Work around the persistent double-GC problem by avoiding a second GC on a defunct session. 2003-04-08 01:01:44 by rcaputo; POE/Kernel.pm 1.237 Applied Brandon Beamer's POD patch for $poe_main_window when using Tk with POE. 2003-04-07 06:19:28 by rcaputo; lib/ExtUtils/AutoInstall.pm 1.3 Update to version 0.50. 2003-04-07 04:22:02 by rcaputo; POE/Wheel/SocketFactory.pm 1.70 Fixed a leak discovered by dynweb. In client mode, SocketFactory would did release its grip on the socket until destroyed. He found the leak in a program that passed the socket to $kernel->select_read() without destroying the SocketFactory. 2003-04-05 06:45:37 by rcaputo; t/08_errors.t 1.44 Commit Alan Hastings' more proper patch for Cygwin support. 2003-04-03 04:01:56 by rcaputo; POE/Wheel/Run.pm 1.46 Apply Alan Hastings' Cygwin support patch. 2003-04-03 04:00:47 by rcaputo; POE/Wheel/SocketFactory.pm 1.69 Patch the documentation for the Reuse parameter. Also support another reasonable alternative. It might be best, however, to trust the user to supply a proper Perl boolean value. 2003-03-24 16:48:58 by rcaputo POE/Wheel/Run.pm 1.45; t/22_wheel_run.t 1.31 Applied and documented Dmitri Tikhonov's patch for the ProgramArgs feature. This lets master programs specify parameters for code/programs that are forked off, avoiding closures and the possible memory leaks created by them. The tests were extended to exercise the new feature. 2003-03-24 16:46:32 by rcaputo; lib/cvs-log.perl 1.4 It seems impossible to avoid duplicate tags (identical timestamp) for the initial import of a source tree into CVS. The usual convention is to tag the first import as "start", so we ignore any other tags that coincide with that. 2003-03-16 07:46:10 by rcaputo; t/28_windows.t 1.5 The two-second timeout was too slow for the 486 I'm using to test Windows NT. Increased the timeout to five seconds so that the test doesn't trigger false failures on slow machines. 2003-03-05 17:22:23 by rcaputo; POE/Kernel.pm 1.236 Hachi's double-free fix leaves the code in this file, but it's commented out. I'm commenting it so archaeologists will know what he was thinking. 2003-03-05 17:20:13 by rcaputo; POE/Component/Client/TCP.pm 1.31 Clear the Client::TCP component's alias on shutdown. Otherwise, if something else in the program is active, the Client will disconnect but its internal session won't _stop. "Buzz Darkyear" on MagNet #poe reported this one. 2003-03-03 16:27:01 by sungo; POE/Kernel.pm 1.235 add the ability to disable Time::HiRes usage via a constant. document this interface 2003-03-03 15:51:46 by sungo; POE/Loop/Select.pm 1.44 oops. still need to set a minumum select timeout 2003-03-03 15:47:18 by sungo; POE/Loop/Select.pm 1.43 comment out the linux select timeout workaround and comment why 2003-03-02 07:20:40 by hachi; POE/Kernel.pm 1.234 Bug squashing attempt, sessions that used postbacks may in the past get garbage collected twice, there was an internal consistency check to this effect which made a confess() call. I hope I wasn't supposed to increment the version to .2502 or something before committing. 2003-02-28 22:40:47 by rcaputo; Makefile.PL 1.26 what happens is that the code is compiled twice, and the first time in the same scope as the ST_TIME This is the 0.22 bug? yes the bug exists in non threaded and threaded perl but because threaded perl keeps constants on the pad, it actually shows Oh! Does it also do this in blead, then? no, but maintblead blead fixes it but blead has mucho rewritten pad handling Do you think this is something that will bite regular POE/Perl users? not in 0.23+ I'll remove the warning from Makefile.PL, then. 2003-02-27 00:10:35 by cwest; POE/Wheel/FollowTail.pm 1.43 From the mailing list: Date: Tue, 25 Feb 2003 16:28:11 -0800 From: Jim Westfall To: poe@perl.org Subject: FollowTail behavior change with SeekBack I recently upgraded to 0.25 from 0.23 and noticed there is a behavior change to FollowTail with the SeekBack option. A 'SeekBack' => 0 is now causing it to seek back instead of seeking to the EOF like one would expect. The code was as follows my $seek_back = ( (defined $params{SeekBack}) ? $params{SeekBack} : 4096 ); and has been changed to my $seek_back = $params{SeekBack} || 4096; so now if $params{SeekBack} is undefined or set to 0 it will make $seek_back 4096. simple workaround on my part is to set SeekBack to -1. A simular situation exists with the PollInterval option, tho I dunno if 0 would be a valid option for it. __END__ This was a short sided change. The old behaviour is correct and has been restored. 2003-02-22 03:00:35 by sungo; lib/events_per_second.pl 1.1 first stab at a benchmark of various event loops. run with --help option for usage 2003-02-18 15:08:55 by rcaputo; t/08_errors.t 1.43 Cygwin doesn't give us warnings when creating this bogus SocketFactory. This patch works around Cygwin's strange behavior in a most unsatisfying way. 2003-02-07 19:34:20 by rcaputo; POE.pm 1.156 Bump the version to the next "CVS" number. ========================= 2003-02-07 17:48:47 v0_25 ========================= 2003-02-07 17:48:47 by rcaputo; POE.pm 1.155; README 1.103 Finalize things for the imminent 0.25 release. 2003-02-07 05:03:43 by hachi POE/Component/Client/TCP.pm 1.30; POE/Component/Server/TCP.pm 1.35 Documentation cleanup in PoCo::Client::TCP and PoCo::Server::TCP First time I committed CVS (outside of my own hard drive) Yay me! 2003-02-06 20:07:15 by rcaputo; t/04_selects.t 1.17 This fix is against against revision 1.14. Forcing that new test to use "inet" pipes breaks on systems where localhost is firewalled. Tweaked the test to use whichever pipes it can under non-Windows operating systems, and forced it to "inet" for MSWin32. A real solution would be to skip the test entirely if the pipe can't be built. I suspect we'll need to revisit this later. 2003-02-06 03:30:38 by rcaputo; t/06_tk.t 1.40 It is unfortunate, but a bug in ActivePerl 5.8.0's version of Tk prevents us from supporting Tk at all in this build. We regret the inconvenience and hope that support can resume in a future ActivePerl build. Meanwhile, you may follow the status of the bug at http://bugs.activestate.com/show_bug.cgi?id=22619 2003-02-06 03:25:52 by rcaputo; POE/Loop/Tk.pm 1.39 Collateral refactoring while trying to work around ActivePerl's problem with Tk, and Tk's problem with my preferred workaround. 2003-02-05 16:22:11 by rcaputo; POE/Kernel.pm 1.233 Nancy Grady pointed out that Randal Schwartz's listing at http://www.stonehenge.com/merlyn/LinuxMag/col41.listing.txt was not exiting when it was done. This turned out to be a missing garbage collection test in POE::Kernel, introduced during the Great Refactoring of 2002. This fix adds back the GC test that was removed. 2003-02-04 03:32:01 by rcaputo; POE/Pipe.pm 1.9 Bad Rocco! Always verify copied/pasted/tweaked code has actually been tweaked, or you'll keep doing things like what was fixed here. Luckily it hadn't caused any trouble to speak of. 2003-02-01 19:13:27 by cwest POE/Component/Client/TCP.pm 1.29; POE/Component/Server/TCP.pm 1.34 The code to validate SessionParams was broken. Even when SessionParams was defined correctly, it was overwritten with an empty array reference. This has been fixed. 2003-02-01 04:52:07 by cwest; t/001_queue.t 1.2; t/00_coverage.t 1.17; t/01_sessions.t 1.22; t/02_alarms.t 1.12; t/03_aliases.t 1.12; t/04_selects.t 1.16; t/05_macros.t 1.6; t/06_tk.t 1.39; t/07_event.t 1.16; t/08_errors.t 1.42; t/09_wheels_unix.t 1.14; t/10_wheels_tcp.t 1.13; t/11_signals_poe.t 1.24; t/12_signals_ev.t 1.17; t/13_wheels_udp.t 1.4; t/14_wheels_ft.t 1.11; t/15_filter_block.t 1.4; t/16_filter_stream.t 1.3; t/17_filter_ref.t 1.6; t/18_filter_line.t 1.7; t/19_filterchange.t 1.11; t/20_accept.t 1.5; t/21_gtk.t 1.16; t/22_wheel_run.t 1.30; t/23_nfa.t 1.5; t/24_filter_stack.t 1.3; t/25_detach.t 1.4; t/26_comp_tcp.t 1.3; t/27_poll.t 1.6; t/28_windows.t 1.4; t/29_sockfact6.t 1.7 Resolving Ticket #1597 on rt.cpan.org All tests now look in ./lib, ../lib, .., and . for libraries so as to not go testing already installed libraries. 2003-02-01 04:17:41 by cwest; POE/Component/Client/TCP.pm 1.28 Added new() parameters SessionType and SessionParams. SessionType allows you to override the default POE session handler, POE::Session, with your choice of drop in replacement such as POE::Session::MultiDispatch. SessionParams allows you to pass extra arguments to the SessionType's constructor. Most useful are things in the options hash. 2003-02-01 04:04:39 by cwest; POE/Component/Server/TCP.pm 1.33 Added create() parameters SessionType and SessionParams. SessionType allows you to override the default POE session handler, POE::Session, with your choice of drop in replacement such as POE::Session::MultiDispatch. SessionParams allows you to pass extra arguments to the SessionType's constructor. Most useful are things in the options hash. 2003-01-26 03:30:39 by rcaputo POE/Kernel.pm 1.232; POE/Wheel/Run.pm 1.44 The old HP-UX SIGRTMIN bug in Perl bit us again on Gentoo Linux. It appears the hints for that platform allow all these non-signal /SIG.*/ symbols into the %SIG hash, and setting them causes perl to segfault. Normally we wouldn't know about it, but recent signal reforms have reintroduced the errors. This time we build a single list of safe signals and use that instead of keys(%SIG). If we're lucky, this will be the last of that. 2003-01-21 22:22:35 by rcaputo; POE/Wheel/FollowTail.pm 1.42 One cannot assume that filehandles have methods such as clearerr(). If one does, someone (Hi, Rob Bloodgood) using Perl 5.005_03 will inform one that one's code doesn't work. One will therefore be required to commit patches such as this one that replaces $handle->clearerr() with IO::Handle::clearerr($handle). One might be somewhat bitter about all these tethers holding one from using more modern coding techniques. Gulliver probably felt similar upon awakening Lilliput. 2003-01-21 07:27:59 by rcaputo; t/08_errors.t 1.41 Wheel::Run can change input/output filters now, so remove the tests which no longer generate errors. 2003-01-21 07:26:43 by rcaputo POE/Kernel.pm 1.231; POE/Pipe.pm 1.8; POE/Wheel/SocketFactory.pm 1.68 The introduction of $handle->blocking() for ActivePerl 5.8.0 breaks perl 5.005_03 on two counts. First, filehandles aren't blessed into IO::Handle by default. Second, blocking() doesn't exist in the older Perl. Reintroduce the homegrown non/blocking code for legacy Perl, but use the portable IO::Handle version for modern Perl. 2003-01-17 18:26:57 by cwest; POE/Component/Server/TCP.pm 1.32 POE::Component::Server::TCP->new() now accepts an 'Args' parameter. It does the same thing as 'Args' does for POE::Component::Client::TCP. A list of arguments are passed to the ClientConnected callback filling @{ARG0..$#_}. This is helpful for setting up sessions with important data. 2003-01-11 04:33:35 by rcaputo; POE/Component/Server/TCP.pm 1.31 Bob Maccione discovered that ECONNABORTED (a connection was closed before it could be accepted) was killing off PoCo::Server::HTTP. This change ignores ECONNABORTED, so clients can't use it to kill servers. 2003-01-09 17:56:09 by rcaputo; POE/Kernel.pm 1.230 Mark each "resource" section with the name of the module it will become. 2003-01-04 04:23:55 by rcaputo; t/22_wheel_run.t 1.29 Halfjack discovered six subtests that failed. We tracked them down to a bogus $Configure{perlpath}. I changed the tests to discover the perl path via $^X instead, which exists at least as far back as 5.005_03. 2003-01-02 06:19:03 by rcaputo; POE/Component/Client/TCP.pm 1.27 Document Started in the SYNOPSIS. 2003-01-01 04:24:40 by rcaputo; POE/Session.pm 1.83 Doc patch for Averell. 2002-12-31 22:59:57 by rcaputo; POE/Wheel/Run.pm 1.43 Applied Jason Stillwell's patch to finish several features in this wheel. We can now pause and resume Stdout and Stderr events, and the wheel now supports changing filters at runtime. 2002-12-31 22:09:46 by rcaputo; POE/Kernel.pm 1.229 Jason Stillwell discovered that event handlers can't return undef. Nothing seems to rely on this behavior, so now it's removed. 2002-12-24 03:53:02 by rcaputo; POE/Kernel.pm 1.228 Scott Beck pointed out that statement-modifier foreach isn't supported in older versions of Perl. This patch replaces them with C versions, which should work much farther back in Perl history. 2002-12-21 04:39:13 by rcaputo; POE/Kernel.pm 1.227 Damien Neil discovered a temporary Session reference leak in the new signal handling code. The leak prevents sessions from stopping when they should (they do stop on subsequent signals, though). We were able to fix the problem thanks to his information. 2002-12-19 05:32:06 by rcaputo POE/Kernel.pm 1.226; POE/Pipe.pm 1.7; POE/Wheel/SocketFactory.pm 1.67 Replace the homegrown blocking and nonblocking handle code with IO::Handle's blocking() method. This should do the right thing in more places with less work. For example, it fixes the ioctl() errors introduced in ActiveState 5.8.0 without breaking things on FreeBSD 5.6.1. 2002-12-18 17:38:25 by rcaputo; POE/Kernel.pm 1.225 Applied Garrett Goebel's patch that allows call() to honor wantarray context. 2002-12-18 17:26:46 by rcaputo; POE/Kernel.pm 1.224 Applied Garrett Goebel's patch to clean up calls to _data_ev_refcount_dec(). This does three things: 1) Disambiguates a $_ in a foreach loop. 2) Removes a few temporary lexical variables. 3) Reduces the number of lines of code. 2002-12-16 17:32:55 by rcaputo; POE/Wheel/FollowTail.pm 1.41 Applied Matt Sergeant's globref patch. 2002-12-13 03:44:26 by rcaputo; POE/Wheel/FollowTail.pm 1.40 Removed an unneeded Fcntl module use that was also causing trouble with Rob Bloodgood's 5.005_03 system. 2002-12-13 03:28:18 by rcaputo; POE/Kernel.pm 1.223 Apply Rob Bloodgood's patch to support 5.005_03 in POE::Kernel. 2002-12-10 03:09:17 by rcaputo; POE/Session.pm 1.82 Damien Neil pointed out that Session.pm destroys its package_states parameter. This is rude and has been fixed. 2002-12-09 20:22:41 by rcaputo; POE.pm 1.154 Bump POE's version to 0.2301 for development. ========================= 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. ============================= Beginning of Recorded History =============================