Hello community,

here is the log from the commit of package perl-IO-Multiplex for 
openSUSE:Factory
checked in at Tue Feb 22 14:23:12 CET 2011.



--------
--- perl-IO-Multiplex/perl-IO-Multiplex.changes 2010-12-01 14:47:16.000000000 
+0100
+++ /mounts/work_src_done/STABLE/perl-IO-Multiplex/perl-IO-Multiplex.changes    
2011-02-22 10:59:52.000000000 +0100
@@ -1,0 +2,15 @@
+Tue Feb 22 09:50:34 UTC 2011 - [email protected]
+
+- update to 1.11
+        - Avoid warning while adding pipe
+          rt.cpan.org#60068 [Khedin] and #16259
+       - Add EWOULDBLOCK and non-blocking mode for windows,
+         rt.cpan.org#23982 [[email protected]]
+       - Typo "closeing", rt.cpan.org#21085 [D Steinbrunner]
+       - avoid shutdown after close,
+         rt.cpan.org#5715 [Lars Jensen] and #5885
+       - use length of outbuf, not exists to see if it is
+         empty. [Ersun Warncke]
+       - turn "use warnings" on
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  IO-Multiplex-1.10.tar.bz2

New:
----
  IO-Multiplex-1.11.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-IO-Multiplex.spec ++++++
--- /var/tmp/diff_new_pack.Nk5HqM/_old  2011-02-22 14:22:32.000000000 +0100
+++ /var/tmp/diff_new_pack.Nk5HqM/_new  2011-02-22 14:22:32.000000000 +0100
@@ -1,7 +1,7 @@
 #
-# spec file for package perl-IO-Multiplex (Version 1.10)
+# spec file for package perl-IO-Multiplex
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,8 +24,8 @@
 Group:          Development/Libraries/Perl
 AutoReqProv:    on
 Summary:        Manage IO on many file handles
-Version:        1.10
-Release:        10
+Version:        1.11
+Release:        1
 Source:         IO-Multiplex-%{version}.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %{perl_requires}

++++++ IO-Multiplex-1.10.tar.bz2 -> IO-Multiplex-1.11.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Multiplex-1.10/Changes 
new/IO-Multiplex-1.11/Changes
--- old/IO-Multiplex-1.10/Changes       2008-09-15 10:18:37.000000000 +0200
+++ new/IO-Multiplex-1.11/Changes       2011-02-02 17:06:31.000000000 +0100
@@ -1,5 +1,17 @@
 Revision history for Perl extension IO::Multiplex.
 
+1.11 Wed Feb  2 17:05:08 CET 2011
+        - Avoid warning while adding pipe
+          rt.cpan.org#60068 [Khedin] and #16259
+       - Add EWOULDBLOCK and non-blocking mode for windows,
+         rt.cpan.org#23982 [[email protected]]
+       - Typo "closeing", rt.cpan.org#21085 [D Steinbrunner]
+       - avoid shutdown after close,
+         rt.cpan.org#5715 [Lars Jensen] and #5885
+       - use length of outbuf, not exists to see if it is
+         empty. [Ersun Warncke]
+       - turn "use warnings" on
+
 1.10  Mon Sep 15 2008
        - Update Copyright and License.
        - Buttwag around minor Windows deficiencies.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Multiplex-1.10/MANIFEST 
new/IO-Multiplex-1.11/MANIFEST
--- old/IO-Multiplex-1.10/MANIFEST      2008-09-15 10:31:47.000000000 +0200
+++ new/IO-Multiplex-1.11/MANIFEST      2011-02-02 17:40:43.000000000 +0100
@@ -1,12 +1,12 @@
 Changes
-README
-TODO
 MANIFEST
+META.yml
 Makefile.PL
-lib/IO/Multiplex.pm
+README
+TODO
 contrib/portfw
+lib/IO/Multiplex.pm
 t/100_load.t
-t/110_test.t
 t/110_ntest.t
+t/110_test.t
 t/200_udp.t
-META.yml                                 Module meta-data (added by MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Multiplex-1.10/META.yml 
new/IO-Multiplex-1.11/META.yml
--- old/IO-Multiplex-1.10/META.yml      2008-09-15 10:31:47.000000000 +0200
+++ new/IO-Multiplex-1.11/META.yml      2011-02-02 17:41:25.000000000 +0100
@@ -1,11 +1,21 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
-name:         IO-Multiplex
-version:      1.10
-version_from: lib/IO/Multiplex.pm
-installdirs:  site
+--- #YAML:1.0
+name:               IO-Multiplex
+version:            1.11
+abstract:           Manage IO on many file handles
+author:  []
+license:            unknown
+distribution_type:  module
+configure_requires:
+    ExtUtils::MakeMaker:  0
+build_requires:
+    ExtUtils::MakeMaker:  0
 requires:
-    IO::Socket:                    0
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30
+    IO::Socket:  0
+no_index:
+    directory:
+        - t
+        - inc
+generated_by:       ExtUtils::MakeMaker version 6.56
+meta-spec:
+    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
+    version:  1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Multiplex-1.10/lib/IO/Multiplex.pm 
new/IO-Multiplex-1.11/lib/IO/Multiplex.pm
--- old/IO-Multiplex-1.10/lib/IO/Multiplex.pm   2008-09-15 10:17:50.000000000 
+0200
+++ new/IO-Multiplex-1.11/lib/IO/Multiplex.pm   2011-02-02 17:41:16.000000000 
+0100
@@ -1,5 +1,10 @@
 package IO::Multiplex;
 
+use strict;
+use warnings;
+
+our $VERSION = '1.11';
+
 =head1 NAME
 
 IO::Multiplex - Manage IO on many file handles
@@ -15,13 +20,11 @@
   $mux->listen($server_socket);
   $mux->loop;
 
-  sub mux_input {
-    ...
-  }
+  sub mux_input { ... }
 
 C<IO::Multiplex> is designed to take the effort out of managing
-multiple file handles.  It is essentially a really fancy front end to
-the C<select> system call.  In addition to maintaining the C<select>
+multiple file handles. It is essentially a really fancy front end to
+the C<select> system call. In addition to maintaining the C<select>
 loop, it buffers all input and output to/from the file handles.  It
 can also accept incoming connections on one or more listen sockets.
 
@@ -261,29 +264,28 @@
 
 =cut
 
-use strict;
 use POSIX qw(errno_h BUFSIZ);
-use vars qw($VERSION);
 use Socket;
 use FileHandle qw(autoflush);
 use IO::Handle;
 use Fcntl;
 use Carp qw(carp);
-use constant IsWin => ($^O =~ /Win32/i);
+use constant IsWin => ($^O eq 'MSWin32');
 
-$VERSION = '1.10';
 
 BEGIN {
     eval {
         # Can optionally use Hi Res timers if available
         require Time::HiRes;
-        Time::HiRes->import ('time');
+        Time::HiRes->import('time');
     }
 };
 
 # This is what you want.  Trust me.
 $SIG{PIPE} = 'IGNORE';
 
+if(IsWin) { *EWOULDBLOCK = sub {10035} }
+
 =head2 new
 
 Construct a new C<IO::Multiplex> object.
@@ -326,6 +328,7 @@
 
     $self->add($fh);
     $self->{_fhs}{"$fh"}{listen} = 1;
+    $fh;
 }
 
 =head2 add
@@ -349,8 +352,11 @@
     nonblock($fh);
     autoflush($fh, 1);
     fd_set($self->{_readers}, $fh, 1);
-    $self->{_fhs}{"$fh"}{udp_true} =
-        (SOCK_DGRAM == unpack("i", scalar 
getsockopt($fh,Socket::SOL_SOCKET(),Socket::SO_TYPE())));
+
+    my $sockopt = getsockopt $fh, SOL_SOCKET, SO_TYPE;
+    $self->{_fhs}{"$fh"}{udp_true} = 1
+        if defined $sockopt && SOCK_DGRAM == unpack "i", $sockopt;
+
     $self->{_fhs}{"$fh"}{inbuffer} = '';
     $self->{_fhs}{"$fh"}{outbuffer} = '';
     $self->{_fhs}{"$fh"}{fileno} = fileno($fh);
@@ -666,12 +672,12 @@
                             if $obj && $obj->can("mux_eof");
 
                         if (exists $self->{_fhs}{"$fh"}) {
-                            delete $self->{_fhs}{"$fh"}{inbuffer};
+                            $self->{_fhs}{"$fh"}{inbuffer} = '';
                             # The mux_eof handler could have responded
                             # with a shutdown for writing.
                             $self->close($fh)
-                                unless exists $self->{_fhs}{"$fh"} &&
-                                    exists $self->{_fhs}{"$fh"}{outbuffer};
+                                unless exists $self->{_fhs}{"$fh"}
+                                    && length $self->{_fhs}{"$fh"}{outbuffer};
                         }
                         next;
                     }
@@ -708,19 +714,20 @@
                     next;
                 }
                 substr($self->{_fhs}{"$fh"}{outbuffer}, 0, $rv) = '';
-                unless ($self->{_fhs}{"$fh"}{outbuffer}) {
+                unless (length $self->{_fhs}{"$fh"}{outbuffer}) {
                     # Mark us as not writable if there's nothing more to
                     # write
                     fd_set($self->{_writers}, $fh, 0);
                     $obj->mux_outbuffer_empty($self, $fh)
                         if ($obj && $obj->can("mux_outbuffer_empty"));
 
-                    if ($self->{_fhs}{"$fh"}{shutdown}) {
+                    if (   $self->{_fhs}{"$fh"}
+                        && $self->{_fhs}{"$fh"}{shutdown}) {
                         # If we've been marked for shutdown after write
                         # do it.
                         shutdown($fh, 1);
-                        delete $self->{_fhs}{"$fh"}{outbuffer};
-                        unless (exists $self->{_fhs}{"$fh"}{inbuffer}) {
+                        $self->{_fhs}{"$fh"}{outbuffer} = '';
+                        unless (length $self->{_fhs}{"$fh"}{inbuffer}) {
                             # We'd previously been shutdown for reading
                             # also, so close out completely
                             $self->close($fh);
@@ -879,16 +886,16 @@
     if ($which == 1 || $which == 2) {
         # Shutdown for writing.  Only do this now if there is no pending
         # data.
-        if ($self->{_fhs}{"$fh"}{outbuffer}) {
+        if(length $self->{_fhs}{"$fh"}{outbuffer}) {
             $self->{_fhs}{"$fh"}{shutdown} = 1;
         } else {
             shutdown($fh, 1);
-            delete $self->{_fhs}{"$fh"}{outbuffer};
+            $self->{_fhs}{"$fh"}{outbuffer} = '';
         }
     }
     # Delete the descriptor if it's totally gone.
-    unless (exists $self->{_fhs}{"$fh"}{inbuffer} ||
-            exists $self->{_fhs}{"$fh"}{outbuffer}) {
+    unless (length $self->{_fhs}{"$fh"}{inbuffer} ||
+            length $self->{_fhs}{"$fh"}{outbuffer}) {
         $self->close($fh);
     }
 }
@@ -909,8 +916,8 @@
     return unless exists $self->{_fhs}{"$fh"};
 
     my $obj = $self->{_fhs}{"$fh"}{object} || $self->{_object};
-    warn "closeing with read buffer" if $self->{_fhs}{"$fh"}{inbuffer};
-    warn "closeing with write buffer" if $self->{_fhs}{"$fh"}{outbuffer};
+    warn "closing with read buffer"  if length $self->{_fhs}{"$fh"}{inbuffer};
+    warn "closing with write buffer" if length $self->{_fhs}{"$fh"}{outbuffer};
 
     fd_set($self->{_readers}, $fh, 0);
     fd_set($self->{_writers}, $fh, 0);
@@ -928,13 +935,17 @@
 # get a partial write in those circumstances, which is what we want.
 
 sub nonblock
-{
-    return 1 if IsWin;
-    my $fh = shift;
-    my $flags = fcntl($fh, F_GETFL, 0)
-        or die "fcntl F_GETFL: $!\n";
-    fcntl($fh, F_SETFL, $flags | O_NONBLOCK)
-        or die "fcntl F_SETFL $!\n";
+{   my $fh = shift;
+
+    if(IsWin)
+    {   ioctl($fh, 0x8004667e, 1);
+    }
+    else
+    {   my $flags = fcntl($fh, F_GETFL, 0)
+            or die "fcntl F_GETFL: $!\n";
+        fcntl($fh, F_SETFL, $flags | O_NONBLOCK)
+            or die "fcntl F_SETFL $!\n";
+    }
 }
 
 sub fd_set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Multiplex-1.10/t/200_udp.t 
new/IO-Multiplex-1.11/t/200_udp.t
--- old/IO-Multiplex-1.10/t/200_udp.t   2003-07-31 23:20:27.000000000 +0200
+++ new/IO-Multiplex-1.11/t/200_udp.t   2011-02-02 12:28:23.000000000 +0100
@@ -20,6 +20,8 @@
 use IO::Multiplex;
 use POSIX qw(ENOTCONN EDESTADDRREQ);
 
+if($^O eq 'MSWin32') { *ENOTCONN = sub(){10057} }
+
 $| = 1;
 plan tests => 15;
 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to