r5081 - in /packages/libio-multiplex-perl/trunk: Changes debian/changelog lib/IO/Multiplex.pm

gregoa-guest at users.alioth.debian.org gregoa-guest at users.alioth.debian.org
Fri Apr 13 21:53:53 UTC 2007


Author: gregoa-guest
Date: Fri Apr 13 21:53:53 2007
New Revision: 5081

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

Modified:
    packages/libio-multiplex-perl/trunk/Changes
    packages/libio-multiplex-perl/trunk/debian/changelog
    packages/libio-multiplex-perl/trunk/lib/IO/Multiplex.pm

Modified: packages/libio-multiplex-perl/trunk/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libio-multiplex-perl/trunk/Changes?rev=5081&op=diff
==============================================================================
--- packages/libio-multiplex-perl/trunk/Changes (original)
+++ packages/libio-multiplex-perl/trunk/Changes Fri Apr 13 21:53:53 2007
@@ -1,4 +1,9 @@
 Revision history for Perl extension IO::Multiplex.
+
+1.09  Sat Mar 03 2007
+	- Detect readability for special IO::Socket::SSL
+	  handles more accurately.
+	- Avoid "freed value in iteration" crashing.
 
 1.08  Fri Nov 11 2003
 	- Solaris/FreeBSD compatibility fixes.

Modified: packages/libio-multiplex-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libio-multiplex-perl/trunk/debian/changelog?rev=5081&op=diff
==============================================================================
--- packages/libio-multiplex-perl/trunk/debian/changelog (original)
+++ packages/libio-multiplex-perl/trunk/debian/changelog Fri Apr 13 21:53:53 2007
@@ -1,3 +1,9 @@
+libio-multiplex-perl (1.09-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregor+debian at comodo.priv.at>  Fri, 13 Apr 2007 23:53:37 +0200
+
 libio-multiplex-perl (1.08-3) unstable; urgency=low
 
   * Use $(CURDIR) [make] instead of $(PWD) [sh] to fix issues with sudo.

Modified: packages/libio-multiplex-perl/trunk/lib/IO/Multiplex.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libio-multiplex-perl/trunk/lib/IO/Multiplex.pm?rev=5081&op=diff
==============================================================================
--- packages/libio-multiplex-perl/trunk/lib/IO/Multiplex.pm (original)
+++ packages/libio-multiplex-perl/trunk/lib/IO/Multiplex.pm Fri Apr 13 21:53:53 2007
@@ -270,7 +270,7 @@
 use Fcntl;
 use Carp qw(carp);
 
-$VERSION = '1.08';
+$VERSION = '1.09';
 
 BEGIN {
     eval {
@@ -569,29 +569,40 @@
     while (!$self->{_endloop} && keys %{$self->{_fhs}}) {
         my $rv;
         my $data;
-        my $rdready;
-        my $wrready;
+        my $rdready = "";
+        my $wrready = "";
         my $timeout = undef;
 
-        if (@{$self->{_timers}}) {
-            $timeout = $self->{_timers}[0][1] - time;
+        foreach my $fh (values %{$self->{_handles}}) {
+            fd_set($rdready, $fh, 1) if
+                ref($fh) =~ /SSL/ &&
+                $fh->can("pending") &&
+                $fh->pending;
         }
 
-        my $numready = select($rdready=$self->{_readers},
-                              $wrready=$self->{_writers},
-                              undef,
-                              $timeout);
-
-        unless(defined($numready)) {
-            if ($! == EINTR || $! == EAGAIN) {
-                next;
-            } else {
-                last;
+        if (!length $rdready) {
+            if (@{$self->{_timers}}) {
+                $timeout = $self->{_timers}[0][1] - time;
+            }
+
+            my $numready = select($rdready=$self->{_readers},
+                                  $wrready=$self->{_writers},
+                                  undef,
+                                  $timeout);
+
+            unless(defined($numready)) {
+                if ($! == EINTR || $! == EAGAIN) {
+                    next;
+                } else {
+                    last;
+                }
             }
         }
+
         &{ $heartbeat } ($rdready, $wrready) if $heartbeat;
 
-        foreach my $fh (values %{$self->{_handles}}) {
+        foreach my $k (keys %{$self->{_handles}}) {
+            my $fh = $self->{_handles}->{$k} or next;
             # Avoid creating a permanent empty hash ref for "$fh"
             # by attempting to access its {object} element
             # if it has already been closed.
@@ -1074,4 +1085,6 @@
 
 Released under the terms of the Artistic License.
 
-=cut
+$Id: Multiplex.pm,v 1.33 2007/03/04 05:39:16 rob Exp $
+
+=cut




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