Permalink
Browse files

Many changes, which have been described in Changes

  • Loading branch information...
rcaputo committed May 10, 2000
1 parent 1e63444 commit be2eea61f114627dfa88b17e8298757f85269fa3
Showing with 1,165 additions and 282 deletions.
  1. +55 −1 Changes
  2. +2 −0 MANIFEST
  3. +6 −6 Makefile.PL
  4. +3 −2 README
  5. +1 −1 lib/POE.pm
  6. +585 −244 lib/POE/Kernel.pm
  7. +8 −4 lib/POE/Session.pm
  8. +2 −2 lib/POE/Wheel/ReadWrite.pm
  9. +6 −2 lib/POE/Wheel/SocketFactory.pm
  10. +23 −20 samples/httpd.perl
  11. +474 −0 samples/tk.perl
View
56 Changes
@@ -13,14 +13,68 @@ make dist on it! 0.0910 is ``v0_0910''! For example:
cvs tag -Rc v0_10 .
]
-
,----- To Do -----
|
| Overhaul Kernel and Session manpages' DESCRIPTIONs.
+| Create a test program for fork and sigchld.
+| Finish full Tk support. This requires a Tk and Perl/Tk rebuild.
|
`-----------------
+0.100201 2000.05.10
+-------------------
+
+This is a private release, 0.10_02_01, for Addi. He's been having
+trouble with POE and POE::Component::IRC on Win32.
+
+Found a bug in Wheel::ReadWrite that prevented separate InputHandle
+and OutputHandle from working correctly.
+
+Finished initial Tk support. Posted/yielded events, alarms/delays,
+and selects are now handled through the Tk event loop, if Tk is used
+before POE.
+
+Philip Gwyn has noticed POE leaving zombie processes behind. This was
+traced back to naive signal handlers for $SIG{CH?LD} and the
+$kernel->fork() "safe" polling code. Both handlers have been changed
+to use waitpid() and loop until all children have been reaped.
+
+Deleted $POE::Kernel::{signal} before defining &POE::Kernel::signal.
+As of 5.6.0, perl warns of a redefined function, even though it's
+supposed to be called as a POE::Kernel method. Grrr.
+
+Addi pointed out that the PREREQ_PM line for Filter was incorrect. It
+should be requiring Filter::Util::Call 1.04. Fixed!
+
+Addi also noted that the Perl debugger sets $SIG{BUS} under MSWin32.
+MSWin32 doesn't support a $SIG{BUS}, so POE dies when it grovels
+%SIG's keys to register handlers. Bleah! POE::Kernel now avoids
+$SIG{BUS} on MSWin32 systems.
+
+Fixed a bug that Addi found in Wheel::SocketFactory. SocketFactory
+needed code to manage temporary states. These states are created from
+coderefs which are passed to the SocketFactory constructor instead of
+state names. Anyway, to do this, SocketFactory instances needed to
+register and remove success and failure states from sessions that own
+them. Unfortunately, they deregistered states even when they were
+passed by name, removing the owning session's states without its prior
+consent or knowledge! Even more troublesome, if the event is a result
+of constructor failure, then the SocketFactory instance dies (and
+deregisters the FailureState) before the failure event can be
+delivered. The upshot is: Bind errors in samples/httpd.perl never
+displayed an error message.
+
+Randal Schwartz wanted examples of programs that used job queues, so I
+banged out samples/queue.perl. Cleaning it up, documenting it, and
+including it in the POE distribution took longer than writing it. :/
+
+Updated the README to point to a new CPAN Testers location.
+
+Added samples/tk.perl, in case anyone wants to try the Tk code in
+POE::Kernel and POE::Session.
+
+
0.1002 2000.04.20
-----------------
View
@@ -42,6 +42,7 @@ samples/olayer.perl
samples/packagesessions.perl
samples/preforkedserver.perl
samples/proxy.perl
+samples/queue.perl
samples/ref-type.perl
samples/refsender.perl
samples/refserver.perl
@@ -50,6 +51,7 @@ samples/sessions.perl
samples/signals.perl
samples/socketfactory.perl
samples/thrash.perl
+samples/tk.perl
samples/tutorial-chat.perl
samples/udp.perl
samples/watermarks.perl
View
@@ -14,12 +14,12 @@ WriteMakefile
dist => { 'COMPRESS' => 'gzip -9',
'SUFFIX' => 'gz',
},
- PREREQ_PM => { Carp => 0,
- Exporter => 0,
- IO => 0,
- POSIX => 0,
- Socket => 0,
- Filter => 1.18,
+ PREREQ_PM => { Carp => 0,
+ Exporter => 0,
+ IO => 0,
+ POSIX => 0,
+ Socket => 0,
+ Filter::Util::Call => 1.04,
},
);
View
5 README
@@ -40,8 +40,9 @@ testing pool) can find. This includes Linux, FreeBSD, and OS/2, all
of which support enough of POSIX to run POE. It is known to work with
older Perl versions, back to 5.004_03 (maybe earlier). It should also
work with the latest stable release (the latest development release
-may also work). For the most recent compatibility results, see
-<http://www.perl.org/cpan-testers/results.cgi?request=dist&dist=POE>.
+may also work). For the most recent compatibility results, see:
+
+http://testers.cpan.org/search?request=dist&dist=POE
If you have news about breakage or success that's not documented,
please let me know. Thank you!
View
@@ -7,7 +7,7 @@ use strict;
use Carp;
use vars qw($VERSION);
-$VERSION = 0.10_02;
+$VERSION = 0.10_02_01;
sub import {
my $self = shift;
Oops, something went wrong.

0 comments on commit be2eea6

Please sign in to comment.