]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Spawn.pm
fixup Plack-related requires
[public-inbox.git] / lib / PublicInbox / Spawn.pm
index 51ad2692b82e6ff3d6ec49abfda6f02d4d801ea3..23f303fbe182ee7968f6ca6ff6c1486498fe1f61 100644 (file)
@@ -15,6 +15,7 @@ use strict;
 use warnings;
 use base qw(Exporter);
 use Symbol qw(gensym);
+use IO::Handle;
 use PublicInbox::ProcessPipe;
 our @EXPORT_OK = qw/which spawn popen_rd/;
 
@@ -168,10 +169,9 @@ sub popen_rd {
        pipe(my ($r, $w)) or die "pipe: $!\n";
        $opts ||= {};
        my $blocking = $opts->{Blocking};
-       $r->blocking($blocking) if defined $blocking;
+       IO::Handle::blocking($r, $blocking) if defined $blocking;
        $opts->{1} = fileno($w);
        my $pid = spawn($cmd, $env, $opts);
-       close $w;
        return ($r, $pid) if wantarray;
        my $ret = gensym;
        tie *$ret, 'PublicInbox::ProcessPipe', $pid, $r;