* [PATCH 13/13] spawn: get rid of wantarray popen_rd/popen_wr
2023-11-09 10:09 6% [PATCH 00/13] misc error handling stuff and simplifications Eric Wong
@ 2023-11-09 10:09 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-11-09 10:09 UTC (permalink / raw)
To: meta
We've updated all of our users to use Process::IO (and avoiding
tied handles) so the trade-off for using the array context
no longer exists.
---
lib/PublicInbox/Spawn.pm | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm
index 8c798b39..8cc4dfaf 100644
--- a/lib/PublicInbox/Spawn.pm
+++ b/lib/PublicInbox/Spawn.pm
@@ -384,16 +384,14 @@ sub spawn ($;$$) {
sub popen_rd {
my ($cmd, $env, $opt, @cb_arg) = @_;
pipe(my $r, local $opt->{1});
- my $pid = spawn($cmd, $env, $opt);
- wantarray ? ($r, $pid) : PublicInbox::IO::attach_pid($r, $pid, @cb_arg)
+ PublicInbox::IO::attach_pid($r, spawn($cmd, $env, $opt), @cb_arg);
}
sub popen_wr {
my ($cmd, $env, $opt, @cb_arg) = @_;
pipe(local $opt->{0}, my $w);
$w->autoflush(1);
- my $pid = spawn($cmd, $env, $opt);
- wantarray ? ($w, $pid) : PublicInbox::IO::attach_pid($w, $pid, @cb_arg)
+ PublicInbox::IO::attach_pid($w, spawn($cmd, $env, $opt), @cb_arg);
}
sub read_out_err ($) {
^ permalink raw reply related [relevance 7%]
* [PATCH 00/13] misc error handling stuff and simplifications
@ 2023-11-09 10:09 6% Eric Wong
2023-11-09 10:09 7% ` [PATCH 13/13] spawn: get rid of wantarray popen_rd/popen_wr Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-11-09 10:09 UTC (permalink / raw)
To: meta
1-4 were things I noticed while chasing the lei SIGPIPE handling
fix. 5-7 are things I noticed while testing on Dragonfly and
NetBSD. 8 was noticed randomly while working on a new mirror,
and the last few complete the work which let me get rid of tied
IO handles in favor of using the PublicInbox::IO subclass.
Eric Wong (13):
lei_xsearch: put query in process title for debugging
lei: use cached $daemon_pid when possible
lei: reuse FDs atfork and close explicitly
lei_up: use v5.12
net_nntp_socks: more comments around how it works
lei ls-mail-source: gracefully handle network failures
net: retry on EINTR and check for {quit} flag
lei_mirror: note missing local manifests are non-fatal
ipc: simplify partial sendmsg fallback
lei_input: always close single `eml' inputs
xapcmd: get rid of scalar wantarray popen_rd
lei: get rid of autoreap usage
spawn: get rid of wantarray popen_rd/popen_wr
lib/PublicInbox/IPC.pm | 13 ++------
lib/PublicInbox/LEI.pm | 11 ++++---
lib/PublicInbox/LeiInput.pm | 26 +++++++--------
lib/PublicInbox/LeiLsMailSource.pm | 6 ++--
lib/PublicInbox/LeiMirror.pm | 5 +--
lib/PublicInbox/LeiRemote.pm | 14 ++++----
lib/PublicInbox/LeiUp.pm | 10 +++---
lib/PublicInbox/LeiXSearch.pm | 27 ++++++++-------
lib/PublicInbox/NetNNTPSocks.pm | 12 ++++---
lib/PublicInbox/NetReader.pm | 53 +++++++++++++++++++++---------
lib/PublicInbox/Spawn.pm | 6 ++--
lib/PublicInbox/TestCommon.pm | 23 ++++++++++++-
lib/PublicInbox/Watch.pm | 2 +-
lib/PublicInbox/Xapcmd.pm | 12 +++----
t/io.t | 8 +----
t/ipc.t | 7 ++++
t/lei-import.t | 27 +++++++++++++++
17 files changed, 163 insertions(+), 99 deletions(-)
^ permalink raw reply [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-11-09 10:09 6% [PATCH 00/13] misc error handling stuff and simplifications Eric Wong
2023-11-09 10:09 7% ` [PATCH 13/13] spawn: get rid of wantarray popen_rd/popen_wr Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).