Hello community, here is the log from the commit of package perl-IO-Multiplex checked in at Wed Mar 7 13:37:04 CET 2007. -------- --- perl-IO-Multiplex/perl-IO-Multiplex.changes 2006-10-04 13:56:00.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-IO-Multiplex/perl-IO-Multiplex.changes 2007-03-07 11:00:06.000000000 +0100 @@ -1,0 +2,8 @@ +Wed Mar 7 10:43:14 CET 2007 - anicka@suse.cz + +- update to 1.09 + * Detect readability for special IO::Socket::SSL + handles more accurately. + * Avoid "freed value in iteration" crashing. + +------------------------------------------------------------------- Old: ---- IO-Multiplex-1.08.tar.bz2 New: ---- IO-Multiplex-1.09.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-Multiplex.spec ++++++ --- /var/tmp/diff_new_pack.z30764/_old 2007-03-07 13:35:58.000000000 +0100 +++ /var/tmp/diff_new_pack.z30764/_new 2007-03-07 13:35:58.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package perl-IO-Multiplex (Version 1.08) +# spec file for package perl-IO-Multiplex (Version 1.09) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -17,7 +17,7 @@ Requires: perl = %{perl_version} Autoreqprov: on Summary: Manage IO on many file handles -Version: 1.08 +Version: 1.09 Release: 1 Source: IO-Multiplex-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -53,6 +53,11 @@ %{perl_vendorlib}/IO/Multiplex.pm /var/adm/perl-modules/perl-IO-Multiplex -%changelog -n perl-IO-Multiplex +%changelog +* Wed Mar 07 2007 - anicka@suse.cz +- update to 1.09 + * Detect readability for special IO::Socket::SSL + handles more accurately. + * Avoid "freed value in iteration" crashing. * Wed Oct 04 2006 - anicka@suse.cz - package created [#207466] ++++++ IO-Multiplex-1.08.tar.bz2 -> IO-Multiplex-1.09.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Multiplex-1.08/Changes new/IO-Multiplex-1.09/Changes --- old/IO-Multiplex-1.08/Changes 2003-12-17 23:10:34.000000000 +0100 +++ new/IO-Multiplex-1.09/Changes 2007-03-04 07:01:50.000000000 +0100 @@ -1,5 +1,10 @@ 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. - Add mux_epipe EPIPE hook, patch by diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Multiplex-1.08/lib/IO/Multiplex.pm new/IO-Multiplex-1.09/lib/IO/Multiplex.pm --- old/IO-Multiplex-1.08/lib/IO/Multiplex.pm 2003-11-07 18:39:49.000000000 +0100 +++ new/IO-Multiplex-1.09/lib/IO/Multiplex.pm 2007-03-04 06:39:16.000000000 +0100 @@ -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. +$Id: Multiplex.pm,v 1.33 2007/03/04 05:39:16 rob Exp $ + =cut ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org