Permalink
Browse files

TestPipe.pm; 20_accept.t; better select management

  • Loading branch information...
rcaputo committed Aug 9, 2000
1 parent 4370848 commit e9f3ab23f23965a75fac5f4442503e6f59969a71
Showing with 364 additions and 178 deletions.
  1. +29 −5 Changes
  2. +2 −0 MANIFEST
  3. +2 −2 README
  4. +63 −62 lib/POE/Kernel.pm
  5. +26 −23 lib/POE/Wheel/ListenAccept.pm
  6. +102 −0 mylib/TestPipe.pm
  7. +13 −17 tests/04_selects.t
  8. +6 −15 tests/06_tk.t
  9. +6 −15 tests/07_event.t
  10. +4 −39 tests/19_filterchange.t
  11. +111 −0 tests/20_accept.t
View
34 Changes
@@ -43,7 +43,9 @@ Version numbers have four fields: X.YYZZAA
| code. Migrate SocketFactory's code to ListenAccept, and write
| a test based on IO::Socket::INET sockets.
|
-| Split the samples out into a separate distribution.
+| Split the samples out into a separate distribution. POE's
+| distribution tree is over 800 kilobytes! Most of it's supporting
+| documentation, tests, and samples.
|
| Revise the POE web pages.
|
@@ -57,10 +59,32 @@ Version numbers have four fields: X.YYZZAA
0.1104 2000.??.??
-----------------
-Thanks to jaxdahl's donation of shell time on a Windows 2000 machine,
-I think I've found a bug in POE::Preprocessor. This bug only occurs
-on Windows machines so far. Although it should also appear on other
-multi-byte newline systems, it doesn't on my OS/2 system.
+Jaxdahl donated some shell time on his Win32 machine, allowing me to
+figure out why POE was failing miserably with ActiveState's Perl port.
+I made a bad assumption about source code newlines in
+POE::Preprocessor.
+
+Wheel::ListenAccept wasn't as lagged behind Wheel::SocketFactory as I
+had thought. It required only minor changes to be brought up to date.
+
+Skip some tests on Win32 because pipes can't be made non-blocking
+there.
+
+Brian Buchanan found and fixed a problem where SIGCHLD would not be
+delivered when child processes exited by signal.
+
+Added t/20_accept.t to test Wheel::ListenAccept.
+
+Wrote lib/TestPipe.pm. This file tries to make a two-way pipe at any
+cost. It tries socketpair(2) in the UNIX domain, socketpair(2) in the
+INET domain, a pair of pipe(2)s, and finally a plain INET domain
+socket. This would make a great basis for an open3 thingy.
+
+select(2) bits are keyed on fileno. POE's selects were keyed on file
+handle. Several dup(2)'d handles could have the same fileno. POE
+would manage the select(2) bits based on reference counts for handles.
+This was bad. Changed POE to manage its own selects by fileno
+instead of filehandle. This worked, much to my surprise.
0.1103 2000.08.06
View
@@ -33,6 +33,7 @@ lib/coverage.perl
lib/Devel/Null.pm
lib/Devel/Trace.pm
lib/MyOtherFreezer.pm
+lib/TestPipe.pm
lib/TestSetup.pm
samples/create.perl
samples/fakelogin.perl
@@ -83,3 +84,4 @@ t/16_filter_stream.t
t/17_filter_ref.t
t/18_filter_line.t
t/19_filterchange.t
+t/20_accept.t
View
4 README
@@ -61,12 +61,12 @@ Finally you can install it:
Test Results and Coverage
-------------------------
-These are the `make test' results for POE 0.1103. Hardware: Cyrix
+These are the `make test' results for POE 0.1104. Hardware: Cyrix
P166+; 64MB RAM. Software: OS/2 4, fix 13; perl 5.6.0; no Perl/Tk; no
Event.
All tests successful, 3 tests skipped.
- Files=20, Tests=361, 191 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)
+ Files=21, Tests=365, 190 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)
These are the `make test' results for POE 0.1103. Hardware: AMD
486-40 (overclocked to 50); 16MB RAM. Software: FreeBSD 4.0-STABLE;
Oops, something went wrong.

0 comments on commit e9f3ab2

Please sign in to comment.