unofficial mirror of meta@public-inbox.org
 help / color / mirror / Atom feed
* [PATCH 0/6] process pipe improvements
@ 2021-01-02  9:13 Eric Wong
  2021-01-02  9:13 ` [PATCH 1/6] processpipe: allow synchronous close to set $? Eric Wong
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Eric Wong @ 2021-01-02  9:13 UTC (permalink / raw)
  To: meta

The DS::in_loop clobbering in MboxReader annoyed me and drove
this series.

I wanted to do it for the bidirectional pipes with
"git cat-file --batch", too, but there seems to be some
lifetime management issues which get hard-to-control
with things like the the waitpid(..,WNOHANG) call
in GitAsyncCat.  Maybe switching --batch + DS to use UNIX
sockets can be done to save FDs (or I'm too brain-damaged
to figure this out).

But right now, all of our codebase is robust against children
attempting to reap siblings (or PIDs of former siblings)

Eric Wong (6):
  processpipe: allow synchronous close to set $?
  processpipe: lazy-require PublicInbox::DS for dwaitpid
  git: qx: waitpid synchronously via ProcessPipe->CLOSE
  import: switch to using ProcessPipe
  git: manifest_entry: use ProcessPipe via popen_rd
  qspawn: switch to ProcessPipe via popen_rd

 lib/PublicInbox/Git.pm         | 20 +++++++++-----
 lib/PublicInbox/Import.pm      | 23 +++++++---------
 lib/PublicInbox/MboxReader.pm  |  3 ---
 lib/PublicInbox/ProcessPipe.pm | 49 +++++++++++++++++++++-------------
 lib/PublicInbox/Qspawn.pm      | 15 +++++------
 lib/PublicInbox/Spawn.pm       | 10 +++----
 t/mbox_reader.t                | 17 ++++++++++++
 t/spawn.t                      | 38 ++++++++++++++++++++++++++
 8 files changed, 119 insertions(+), 56 deletions(-)

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-02  9:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-02  9:13 [PATCH 0/6] process pipe improvements Eric Wong
2021-01-02  9:13 ` [PATCH 1/6] processpipe: allow synchronous close to set $? Eric Wong
2021-01-02  9:13 ` [PATCH 2/6] processpipe: lazy-require PublicInbox::DS for dwaitpid Eric Wong
2021-01-02  9:13 ` [PATCH 3/6] git: qx: waitpid synchronously via ProcessPipe->CLOSE Eric Wong
2021-01-02  9:13 ` [PATCH 4/6] import: switch to using ProcessPipe Eric Wong
2021-01-02  9:13 ` [PATCH 5/6] git: manifest_entry: use ProcessPipe via popen_rd Eric Wong
2021-01-02  9:13 ` [PATCH 6/6] qspawn: switch to " Eric Wong

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).