From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id AF9E71F4B9 for ; Mon, 24 Jun 2019 02:55:33 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 23/57] spawn: remove `Blocking' flag handling Date: Mon, 24 Jun 2019 02:52:24 +0000 Message-Id: <20190624025258.25592-24-e@80x24.org> In-Reply-To: <20190624025258.25592-1-e@80x24.org> References: <20190624025258.25592-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Instead, the O_NONBLOCK flag is set by PublicInbox::HTTPD::Async; and we won't be setting it elsewhere. --- 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 66b916df..9161bb5b 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -229,8 +229,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 88404282..1d71b26d 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: '.$?); -} - SKIP: { eval { require BSD::Resource; -- EW