From ae7bb15b33e870c5823e4f31dda527474c57b42b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 26 Dec 2016 09:58:02 +0000 Subject: [PATCH] spawn: remove non-blocking support, here It is never used, and inappropriate to support in generic code. HTTPD::Async already sets non-blocking, and it's better to do it in -httpd-specific code since we know our -httpd can handle it. --- lib/PublicInbox/Spawn.pm | 2 -- t/spawn.t | 11 ----------- 2 files changed, 13 deletions(-) diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index 41b08a33e..e543be54f 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -190,8 +190,6 @@ sub popen_rd { my ($cmd, $env, $opts) = @_; pipe(my ($r, $w)) or die "pipe: $!\n"; $opts ||= {}; - my $blocking = $opts->{Blocking}; - IO::Handle::blocking($r, $blocking) if defined $blocking; $opts->{1} = fileno($w); my $pid = spawn($cmd, $env, $opts); return unless defined $pid; diff --git a/t/spawn.t b/t/spawn.t index 0f756462d..2dcdf8834 100644 --- a/t/spawn.t +++ b/t/spawn.t @@ -81,17 +81,6 @@ use PublicInbox::Spawn qw(which spawn popen_rd); isnt($?, 0, '$? set properly: '.$?); } -{ - my ($fh, $pid) = popen_rd([qw(sleep 60)], undef, { Blocking => 0 }); - ok(defined $pid && $pid > 0, 'returned pid when array requested'); - is(kill(0, $pid), 1, 'child process is running'); - ok(!defined(sysread($fh, my $buf, 1)) && $!{EAGAIN}, - 'sysread returned quickly with EAGAIN'); - is(kill(9, $pid), 1, 'child process killed early'); - is(waitpid($pid, 0), $pid, 'child process reapable'); - isnt($?, 0, '$? set properly: '.$?); -} - done_testing(); 1; -- 2.47.3