r36990 - in /trunk/libpoe-perl: CHANGES META.yml debian/changelog lib/POE.pm t/10_units/04_drivers/01_sysrw.t

ryan52-guest at users.alioth.debian.org ryan52-guest at users.alioth.debian.org
Sun May 31 20:48:21 UTC 2009


Author: ryan52-guest
Date: Sun May 31 20:48:12 2009
New Revision: 36990

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=36990
Log:
New upstream release

Modified:
    trunk/libpoe-perl/CHANGES
    trunk/libpoe-perl/META.yml
    trunk/libpoe-perl/debian/changelog
    trunk/libpoe-perl/lib/POE.pm
    trunk/libpoe-perl/t/10_units/04_drivers/01_sysrw.t

Modified: trunk/libpoe-perl/CHANGES
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpoe-perl/CHANGES?rev=36990&op=diff
==============================================================================
--- trunk/libpoe-perl/CHANGES (original)
+++ trunk/libpoe-perl/CHANGES Sun May 31 20:48:12 2009
@@ -1,3 +1,25 @@
+==================================
+2009-05-30T23:08:36.045620Z v1_006
+==================================
+
+  2009-05-30 22:26:28 (r2546) by rcaputo; poe/lib/POE.pm M
+
+    Time for 1.006.
+
+  2009-05-30 18:11:30 (r2545) by rcaputo
+  poe/t/90_regression/rt39872-sigchld.t M
+
+    This test had a race condition when run on SunOS. It is fixed, with
+    thanks to Gérard Henry forhis donation of time on a SunOS machine. 
+
+  2009-05-30 17:30:33 (r2544) by rcaputo
+  poe/t/10_units/04_drivers/01_sysrw.t M
+
+    Some systems, especially SunOS, may return nothing on a sysread()
+    while a pipe still contains data. Subsequent reads get the remaining
+    data, however. Resolve rt.cpan.org ticket 43252 by retrying a limited
+    number of times when sysread() reports that the pipe is empty. 
+
 ==================================
 2009-04-21T05:03:17.094558Z v1_005
 ==================================
@@ -806,59 +828,6 @@
 
     Redocument. 
 
-===================================
-2008-05-11T22:30:51.597024Z v1_0002
-===================================
-
-  2008-05-11 22:29:43 (r2325) by rcaputo; poe/lib/POE.pm M
-
-    Bump version for release.
-
-  2008-05-11 21:28:17 (r2324) by rcaputo
-  poe/lib/POE/Pipe.pm M; poe/lib/POE/Resource/FileHandles.pm M
-
-    Clean up the F_GETFL/F_SETFL mess a little. 
-
-  2008-05-11 20:51:44 (r2323) by rcaputo
-  poe/t/30_loops/00_base/wheel_run.pm M
-
-    Increase the timeout a little. Seeing some test failures due to
-    timeouts. 
-
-  2008-05-11 20:45:25 (r2322) by rcaputo
-  poe/t/30_loops/00_base/wheel_accept.pm M
-
-    Increase timeout for my slow VirtualPC test system.
-
-  2008-05-11 20:36:05 (r2321) by rcaputo
-  poe/t/90_regression/merijn-sigchld-system.t M
-
-    Actually, we must skip 4 tests if /bin/true does not exist. 
-
-  2008-04-28 18:10:04 (r2320) by rcaputo; poe/lib/POE/Kernel.pm M
-
-    Link the sig_child() documentation to the USE_SIGCHLD documentation
-    per Marc Lehmann's feedback. 
-
-  2008-04-28 06:16:20 (r2319) by rcaputo; poe/lib/POE/Kernel.pm M
-
-    Per Marc Lehmann's feedback, I have documented how to avoid a
-    potential race condition when catching child processes with
-    sig_child(). Basically, if you want sig_child() to catch a process,
-    call the method in the same event handler that forked the process.
-    Otherwise POE::Kernel may reap the process before sig_child() is
-    called. 
-
-  2008-04-26 09:13:50 (r2318) by rcaputo; poe/lib/POE/Kernel.pm M
-
-    Document how to avoid the run-wasn't-called warning. Thanks to Marc
-    Lehmann for reminding me to document it. 
-
-  2008-04-20 21:10:54 (r2317) by rcaputo
-  poe/t/30_loops/00_base/wheel_run.pm M
-
-    Increase the timeout in a test to avoid false errors.
-
 ==============
 End of Excerpt
 ==============

Modified: trunk/libpoe-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpoe-perl/META.yml?rev=36990&op=diff
==============================================================================
--- trunk/libpoe-perl/META.yml (original)
+++ trunk/libpoe-perl/META.yml Sun May 31 20:48:12 2009
@@ -1,6 +1,6 @@
 ---
 name: POE
-version: 1.005
+version: 1.006
 author:
   - 'Rocco Caputo <rcaputo at cpan.org>'
 abstract: A portable networking and multitasking framework.
@@ -34,7 +34,7 @@
 provides:
   POE:
     file: lib/POE.pm
-    version: 1.005
+    version: 1.006
   POE::Component:
     file: lib/POE/Component.pm
     version: 1.2447

Modified: trunk/libpoe-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpoe-perl/debian/changelog?rev=36990&op=diff
==============================================================================
--- trunk/libpoe-perl/debian/changelog (original)
+++ trunk/libpoe-perl/debian/changelog Sun May 31 20:48:12 2009
@@ -1,3 +1,9 @@
+libpoe-perl (2:1.0060-1) UNRELEASED; urgency=low
+
+  * New upstream release
+
+ -- Ryan Niebur <ryanryan52 at gmail.com>  Sun, 31 May 2009 13:48:03 -0700
+
 libpoe-perl (2:1.0050-1) unstable; urgency=low
 
   * New upstream release

Modified: trunk/libpoe-perl/lib/POE.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpoe-perl/lib/POE.pm?rev=36990&op=diff
==============================================================================
--- trunk/libpoe-perl/lib/POE.pm (original)
+++ trunk/libpoe-perl/lib/POE.pm Sun May 31 20:48:12 2009
@@ -1,4 +1,4 @@
-# $Id: POE.pm 2525 2009-04-21 04:02:03Z rcaputo $
+# $Id: POE.pm 2546 2009-05-30 22:26:28Z rcaputo $
 # Copyrights and documentation are after __END__.
 
 package POE;
@@ -7,8 +7,8 @@
 use Carp qw( croak );
 
 use vars qw($VERSION $REVISION);
-$VERSION = '1.005'; # NOTE - Should be #.### (three decimal places)
-$REVISION = do {my($r)=(q$Revision: 2525 $=~/(\d+)/);sprintf"1.%04d",$r};
+$VERSION = '1.006'; # NOTE - Should be #.### (three decimal places)
+$REVISION = do {my($r)=(q$Revision: 2546 $=~/(\d+)/);sprintf"1.%04d",$r};
 
 sub import {
   my $self = shift;

Modified: trunk/libpoe-perl/t/10_units/04_drivers/01_sysrw.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libpoe-perl/t/10_units/04_drivers/01_sysrw.t?rev=36990&op=diff
==============================================================================
--- trunk/libpoe-perl/t/10_units/04_drivers/01_sysrw.t (original)
+++ trunk/libpoe-perl/t/10_units/04_drivers/01_sysrw.t Sun May 31 20:48:12 2009
@@ -195,11 +195,17 @@
   my $full      = 0;
 
   while (1) {
+    # Put a big chunk into the buffer.
     my $buffered    = $driver->put([ $big_chunk ]);
+
+    # Try to flush it.
     my $after_flush = $driver->flush($handle);
+
+    # Flushed amount.
     $flushed += $buffered - $after_flush;
-    last if $full;
-    $full = $buffered == $after_flush;
+
+    # The pipe is full if there's data after the flush.
+    last if $after_flush;
   }
 
   return $flushed;
@@ -212,18 +218,9 @@
 sub flush_remaining_buffer {
   my ($driver, $handle) = @_;
 
-  my $flushed = 0;
-  my $full    = 0;
-
-  while (1) {
-    my $buffered    = $driver->put([ ]);
-    my $after_flush = $driver->flush($handle);
-    $flushed += $buffered - $after_flush;
-    last if $full;
-    $full = $buffered == $after_flush;
-  }
-
-  return $flushed;
+  my $before_flush = $driver->get_out_messages_buffered();
+  $driver->flush($handle);
+  return $before_flush;
 }
 
 # Read until there's nothing left to read from the pipe.  This should
@@ -232,24 +229,25 @@
 sub read_until_pipe_is_empty {
   my ($driver, $handle) = @_;
 
-  my $read  = 0;
-  my $empty = 0;
-
-  while (1) {
-    my $received = $driver->get($handle);
-    foreach (@$received) {
-      $read += length;
+  my $read_octets = 0;
+
+  # SunOS catalogue1 5.11 snv_101b i86pc i386 i86pc
+  # Sometimes returns "empty" when there's data in the pipe.
+  # Looping again seems to fetch the remaining data, though.
+  for (1..3) {
+    while (1) {
+      my $data = $driver->get($handle);
+      last unless defined($data) and @$data;
+      $read_octets += length() foreach @$data;
     }
-    last if $empty;
-    $empty = @$received == 0;
-  }
-
-  return $read;
+  }
+
+  return $read_octets;
 }
 
 # Portable nonblocking sub.  blocking(0) doesn't do it all the time,
 # everywhere, and it sucks.
-# 
+#
 # This sub sucks, too.  The code is lifted almost verbatim from
 # POE::Resource::FileHandles.  That code should probably be made a
 # library function, but where should it go?




More information about the Pkg-perl-cvs-commits mailing list