[libconfig-model-dpkg-perl] 03/15: Dpkg::Dependency: avoid calling recv without preparing a send (results in a hang)

dod at debian.org dod at debian.org
Sun Aug 25 16:22:01 UTC 2013


This is an automated email from the git hooks/post-receive script.

dod pushed a commit to branch master
in repository libconfig-model-dpkg-perl.

commit c440ff58390ca246badd24e820ea9561add639a7
Author: Dominique Dumont <dod at debian.org>
Date:   Sun Aug 25 17:13:11 2013 +0200

    Dpkg::Dependency: avoid calling recv without preparing a send (results in a hang)
---
 lib/Config/Model/Dpkg/Dependency.pm |   21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/lib/Config/Model/Dpkg/Dependency.pm b/lib/Config/Model/Dpkg/Dependency.pm
index 33fc005..84ee7cc 100644
--- a/lib/Config/Model/Dpkg/Dependency.pm
+++ b/lib/Config/Model/Dpkg/Dependency.pm
@@ -441,16 +441,19 @@ sub check_perl_lib_dep {
             version->parse( $cpan_dep_v )
         );
 
-        return unless defined $v_decimal;
-
-        $v_normal = version->new($v_decimal)->normal;
-        $v_normal =~ s/^v//;    # loose the v prefix
-        if ( $logger->is_debug ) {
-            my $dep_str = $dep_name . ( defined $check_v ? ' ' . $check_v : '' );
-            $logger->debug("dual life $dep_str aka $dep_name_as_perl[0] found in Perl core $v_normal");
+        if (defined $v_decimal) {
+            $v_normal = version->new($v_decimal)->normal;
+            $v_normal =~ s/^v//;    # loose the v prefix
+            if ( $logger->is_debug ) {
+                my $dep_str = $dep_name . ( defined $check_v ? ' ' . $check_v : '' );
+                $logger->debug("dual life $dep_str aka $dep_name_as_perl[0] found in Perl core $v_normal");
+            }
+            $self->check_versioned_dep( $on_perl_check_done , ['perl', '>=', $v_normal] );
+        }
+        else {
+            # no need to check further. Call send to unblock wait done with recv
+            AnyEvent::postpone { $perl_dep_cv->send };
         }
-        $self->check_versioned_dep( $on_perl_check_done , ['perl', '>=', $v_normal] );
-
     };
 
     

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libconfig-model-dpkg-perl.git



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