r35887 - in /branches/upstream/libanyevent-perl/current: Changes META.yml lib/AnyEvent.pm lib/AnyEvent/DNS.pm lib/AnyEvent/Handle.pm lib/AnyEvent/Impl/Perl.pm lib/AnyEvent/Socket.pm lib/AnyEvent/Util.pm t/03_child.t

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Tue May 19 18:31:03 UTC 2009


Author: jawnsy-guest
Date: Tue May 19 18:30:58 2009
New Revision: 35887

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=35887
Log:
[svn-upgrade] Integrating new upstream version, libanyevent-perl (4.41)

Modified:
    branches/upstream/libanyevent-perl/current/Changes
    branches/upstream/libanyevent-perl/current/META.yml
    branches/upstream/libanyevent-perl/current/lib/AnyEvent.pm
    branches/upstream/libanyevent-perl/current/lib/AnyEvent/DNS.pm
    branches/upstream/libanyevent-perl/current/lib/AnyEvent/Handle.pm
    branches/upstream/libanyevent-perl/current/lib/AnyEvent/Impl/Perl.pm
    branches/upstream/libanyevent-perl/current/lib/AnyEvent/Socket.pm
    branches/upstream/libanyevent-perl/current/lib/AnyEvent/Util.pm
    branches/upstream/libanyevent-perl/current/t/03_child.t

Modified: branches/upstream/libanyevent-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/Changes?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/Changes (original)
+++ branches/upstream/libanyevent-perl/current/Changes Tue May 19 18:30:58 2009
@@ -1,4 +1,15 @@
 Revision history for Perl extension AnyEvent.
+
+4.41  Thu May 14 06:40:11 CEST 2009
+        - work around issues in older perls (5.8.0?) when
+          a signal handler is deleted from the %SIG hash.
+        - use POSIX::_exit in child test, to avoid running
+          destructors.
+        - speed up CHLD handling by relying on SIGCHLD being
+          synchronously delivered, even when we roll our own
+          implementation.
+	- AnyEvent::DNS: add the "dname" resource record name
+          for cosmetic reasons.
 
 4.4   Sun Apr 26 20:12:33 CEST 2009
 	- implemented idle watchers, where applicable.

Modified: branches/upstream/libanyevent-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/META.yml?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/META.yml (original)
+++ branches/upstream/libanyevent-perl/current/META.yml Tue May 19 18:30:58 2009
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               AnyEvent
-version:            4.4
+version:            4.41
 abstract:           ~
 author:  []
 license:            unknown

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent.pm Tue May 19 18:30:58 2009
@@ -932,7 +932,7 @@
 
 use Carp;
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 our $MODEL;
 
 our $AUTOLOAD;
@@ -1173,7 +1173,10 @@
 
    delete $SIG_CB{$signal}{$cb};
 
-   delete $SIG{$signal} unless keys %{ $SIG_CB{$signal} };
+   # delete doesn't work with older perls - they then
+   # print weird messages, or just unconditionally exit
+   # instead of getting the default action.
+   undef $SIG{$signal} unless keys %{ $SIG_CB{$signal} };
 }
 
 # default implementation for ->child
@@ -1181,24 +1184,13 @@
 our %PID_CB;
 our $CHLD_W;
 our $CHLD_DELAY_W;
-our $PID_IDLE;
 our $WNOHANG;
 
-sub _child_wait {
+sub _sigchld {
    while (0 < (my $pid = waitpid -1, $WNOHANG)) {
       $_->($pid, $?) for (values %{ $PID_CB{$pid} || {} }),
                          (values %{ $PID_CB{0}    || {} });
    }
-
-   undef $PID_IDLE;
-}
-
-sub _sigchld {
-   # make sure we deliver these changes "synchronous" with the event loop.
-   $CHLD_DELAY_W ||= AnyEvent->timer (after => 0, cb => sub {
-      undef $CHLD_DELAY_W;
-      &_child_wait;
-   });
 }
 
 sub child {
@@ -1209,9 +1201,7 @@
 
    $PID_CB{$pid}{$arg{cb}} = $arg{cb};
 
-   unless ($WNOHANG) {
-      $WNOHANG = eval { local $SIG{__DIE__}; require POSIX; &POSIX::WNOHANG } || 1;
-   }
+   $WNOHANG ||= eval { local $SIG{__DIE__}; require POSIX; &POSIX::WNOHANG } || 1;
 
    unless ($CHLD_W) {
       $CHLD_W = AnyEvent->signal (signal => 'CHLD', cb => \&_sigchld);
@@ -1232,7 +1222,7 @@
 }
 
 # idle emulation is done by simply using a timer, regardless
-# of whether the proces sis idle or not, and not letting
+# of whether the process is idle or not, and not letting
 # the callback use more than 50% of the time.
 sub idle {
    my (undef, %arg) = @_;

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent/DNS.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent/DNS.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent/DNS.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent/DNS.pm Tue May 19 18:30:58 2009
@@ -37,7 +37,7 @@
 use AnyEvent::Handle ();
 use AnyEvent::Util qw(AF_INET6);
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 
 our @DNS_FALLBACK = (v208.67.220.220, v208.67.222.222);
 
@@ -354,6 +354,7 @@
    aaaa  =>  28,
    srv   =>  33,
    naptr =>  35, # rfc2915
+   dname =>  39, # rfc2672
    opt   =>  41,
    spf   =>  99,
    tkey  => 249,
@@ -513,6 +514,7 @@
        local $ofs = $ofs + $offset - length;
        ($order, $preference, $flags, $service, $regexp, _dec_name)
     },
+    39 => sub { local $ofs = $ofs - length; _dec_name }, # dname
     99 => sub { unpack "(C/a*)*", $_ }, # spf
 );
 

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent/Handle.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent/Handle.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent/Handle.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent/Handle.pm Tue May 19 18:30:58 2009
@@ -16,7 +16,7 @@
 
 =cut
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 
 =head1 SYNOPSIS
 

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent/Impl/Perl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent/Impl/Perl.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent/Impl/Perl.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent/Impl/Perl.pm Tue May 19 18:30:58 2009
@@ -91,7 +91,7 @@
 use AnyEvent ();
 use AnyEvent::Util ();
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 
 our ($NOW, $MNOW);
 

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent/Socket.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent/Socket.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent/Socket.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent/Socket.pm Tue May 19 18:30:58 2009
@@ -59,7 +59,7 @@
    tcp_connect
 );
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 
 =item $ipn = parse_ipv4 $dotted_quad
 

Modified: branches/upstream/libanyevent-perl/current/lib/AnyEvent/Util.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/lib/AnyEvent/Util.pm?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/lib/AnyEvent/Util.pm (original)
+++ branches/upstream/libanyevent-perl/current/lib/AnyEvent/Util.pm Tue May 19 18:30:58 2009
@@ -34,7 +34,7 @@
 our @EXPORT = qw(fh_nonblocking guard fork_call portable_pipe portable_socketpair);
 our @EXPORT_OK = qw(AF_INET6 WSAEWOULDBLOCK WSAEINPROGRESS WSAEINVAL WSAWOULDBLOCK);
 
-our $VERSION = 4.4;
+our $VERSION = 4.41;
 
 BEGIN {
    my $posix = 1 * eval { local $SIG{__DIE__}; require POSIX };

Modified: branches/upstream/libanyevent-perl/current/t/03_child.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libanyevent-perl/current/t/03_child.t?rev=35887&op=diff
==============================================================================
--- branches/upstream/libanyevent-perl/current/t/03_child.t (original)
+++ branches/upstream/libanyevent-perl/current/t/03_child.t Tue May 19 18:30:58 2009
@@ -1,5 +1,3 @@
-$|=1;
-
 BEGIN {
    # check for broken perls
    if ($^O =~ /mswin32/i) {
@@ -17,8 +15,11 @@
 }
 
 BEGIN {
+   $|=1;
    print "1..7\n"
 }
+
+use POSIX ();
 
 use AnyEvent;
 use AnyEvent::Impl::Perl;
@@ -38,7 +39,7 @@
 
 unless ($pid) {
    print "ok 2\n";
-   exit 3;
+   POSIX::_exit 3;
 }
 
 my $w = AnyEvent->child (pid => $pid, cb => sub {
@@ -49,7 +50,7 @@
 
 $cv->wait;
 
-my $pid2 = fork || exit 7;
+my $pid2 = fork || POSIX::_exit 7;
 
 my $cv2 = AnyEvent->condvar;
 




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