]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Git.pm
git: qx: waitpid synchronously via ProcessPipe->CLOSE
[public-inbox.git] / lib / PublicInbox / Git.pm
index f7332bb60e29a82b84ce49aacbe280ef01f0e665..cdd2b400763acd93ee4fd7ba07ad7ae0aa787e0a 100644 (file)
@@ -365,8 +365,17 @@ sub popen {
 sub qx {
        my $self = shift;
        my $fh = $self->popen(@_);
-       local $/ = wantarray ? "\n" : undef;
-       <$fh>;
+       if (wantarray) {
+               local $/ = "\n";
+               my @ret = <$fh>;
+               close $fh; # caller should check $?
+               @ret;
+       } else {
+               local $/;
+               my $ret = <$fh>;
+               close $fh; # caller should check $?
+               $ret;
+       }
 }
 
 # check_async and cat_async may trigger the other, so ensure they're