]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/ProcessPipe.pm
config: lazy-load coderepos, support extindex
[public-inbox.git] / lib / PublicInbox / ProcessPipe.pm
index 400a22f3bf65a0a6eda398cee101d34c9fcb373a..97e9c268f8d1e91aa0f8c1225112dc42cd623768 100644 (file)
@@ -5,7 +5,6 @@
 package PublicInbox::ProcessPipe;
 use strict;
 use v5.10.1;
-use PublicInbox::DS qw(dwaitpid);
 use Carp qw(carp);
 
 sub TIEHANDLE {
@@ -14,6 +13,8 @@ sub TIEHANDLE {
                $class;
 }
 
+sub BINMODE { binmode(shift->{fh}) } # for IO::Uncompress::Gunzip
+
 sub READ { read($_[0]->{fh}, $_[1], $_[2], $_[3] || 0) }
 
 sub READLINE { readline($_[0]->{fh}) }
@@ -48,7 +49,8 @@ sub _close ($;$) {
                        carp "waitpid($pid, 0) = $wp, \$!=$!, \$?=$?";
                }
        } else { # caller just undef-ed it, let event loop deal with it
-               dwaitpid $pid, $cb, $arg;
+               require PublicInbox::DS;
+               PublicInbox::DS::dwaitpid($pid, $cb, $arg);
        }
        $ret;
 }