From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 5A1B91F47C for ; Tue, 17 Jan 2023 07:19:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1673939951; bh=OyxinpLKOp4vjLjt2ZDATnh5W0fhbUCILTmHDWD+Kjw=; h=From:To:Subject:Date:From; b=ktx2V6eYy27ShdKGfxQ/LkAIzEeyW+aEQi6J5IatWKjz8/s493RdoyJqS3YilZGpf AZTckKyQRQBgHgHaawETkzVrUnN7qJaayJObI44x3C/uCeVghc4UDuV/DM8LZMFqaW nOrWYPLqw44Nh34YysUAOXYEuAxOgFXXe6DtdNy0= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 00/12] improve process reaping Date: Tue, 17 Jan 2023 07:18:59 +0000 Message-Id: <20230117071911.1577890-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: dwaitpid was implemented under the assumption our code could eventually use a multithreaded Perl 5. Since the threads(3perl) manpage officially discourages threads, that assumption proved false. This series saves syscalls and improves ergonomics of our internal APIs, data structures and code a small bit. Eric Wong (12): ipc: remove {-reap_async} field t/solver_git.t: fix test message qspawn: drop {psgi_env} deref ds: introduce awaitpid, switch ProcessPipe users git|gcf2: switch to awaitpid watch: switch to awaitpid watch: simplify internal data structures eofpipe: drop {arg} support for now watch: IMAP and NNTP polling can use the same interval ipc: drop unused $args from ->ipc_worker_stop ipc+lei: switch to awaitpid ds: drop dwaitpid, switch to waitpid(-1) Documentation/technical/ds.txt | 2 +- lib/PublicInbox/DS.pm | 69 ++++++++++++------------ lib/PublicInbox/Daemon.pm | 2 +- lib/PublicInbox/EOFpipe.pm | 10 ++-- lib/PublicInbox/Gcf2Client.pm | 5 +- lib/PublicInbox/Git.pm | 10 ++-- lib/PublicInbox/IPC.pm | 39 +++++++------- lib/PublicInbox/LEI.pm | 8 ++- lib/PublicInbox/LeiConvert.pm | 2 +- lib/PublicInbox/LeiInput.pm | 2 +- lib/PublicInbox/LeiMirror.pm | 7 ++- lib/PublicInbox/LeiStore.pm | 7 ++- lib/PublicInbox/LeiToMail.pm | 11 ++-- lib/PublicInbox/LeiUp.pm | 5 +- lib/PublicInbox/LeiXSearch.pm | 9 ++-- lib/PublicInbox/ProcessPipe.pm | 42 +++++++-------- lib/PublicInbox/Qspawn.pm | 61 ++++++++++----------- lib/PublicInbox/Spawn.pm | 6 +-- lib/PublicInbox/Watch.pm | 96 ++++++++++++---------------------- script/public-inbox-clone | 2 +- t/solver_git.t | 2 +- t/spawn.t | 12 +++-- 22 files changed, 186 insertions(+), 223 deletions(-)