user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download mbox.gz: |
* [PATCH 4/6] fetch: fix missing chdir arg for error reporting
  2023-09-26  7:44  6% [PATCH 0/6] waitpid-related cleanups Eric Wong
@ 2023-09-26  7:44  7% ` Eric Wong
  0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2023-09-26  7:44 UTC (permalink / raw)
  To: meta

We need to run `git config -l' in the epoch directory which
failed to get the proper config listing.  This went unnoticed
because it doesn't affect any known users and was only found
during code inspection for waitpid usage cleanups.
---
 lib/PublicInbox/Fetch.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/Fetch.pm b/lib/PublicInbox/Fetch.pm
index f93eeebe..8f3a87e2 100644
--- a/lib/PublicInbox/Fetch.pm
+++ b/lib/PublicInbox/Fetch.pm
@@ -131,8 +131,9 @@ sub do_fetch { # main entry point
 				$epoch = $nr;
 			} else {
 				warn "W: $edir missing remote.*.url\n";
-				my $pid = spawn([qw(git config -l)], undef,
-					{ 1 => $lei->{2}, 2 => $lei->{2} });
+				my $o = { -C => $edir };
+				$o->{1} = $o->{2} = $lei->{2};
+				my $pid = spawn([qw(git config -l)], undef, $o);
 				waitpid($pid, 0);
 				$lei->child_error($?) if $?;
 			}

^ permalink raw reply related	[relevance 7%]

* [PATCH 0/6] waitpid-related cleanups
@ 2023-09-26  7:44  6% Eric Wong
  2023-09-26  7:44  7% ` [PATCH 4/6] fetch: fix missing chdir arg for error reporting Eric Wong
  0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2023-09-26  7:44 UTC (permalink / raw)
  To: meta

Mainly, much of our code was too noisy and guarding for waitpid
error cases which never happen.

Perl `waitpid' will always retry on EINTR (cf. perlipc(1)) and
it never returns `undef' on error, only -1.  I don't understand
why Perl does it this way, all other syscalls return `undef' on
error, but Perl only documents -1 for errors and my
understanding of the Perl sources says it can't return `undef'.

So start working on reducing waitpid call sites...

Eric Wong (6):
  ds: awaitpid: Perl waitpid retries on EINTR automatically
  auto_reap: waitpid never returns undef
  lei_blob: use ProcessPipe to eliminate a waitpid call
  fetch: fix missing chdir arg for error reporting
  spamcheck/spamc: rely on ProcessPipe instead of waitpid
  spawn: add run_wait to simplify spawn+waitpid use

 lib/PublicInbox/AutoReap.pm        |  7 +++----
 lib/PublicInbox/DS.pm              |  9 +++------
 lib/PublicInbox/Fetch.pm           | 10 +++++-----
 lib/PublicInbox/LEI.pm             |  5 ++---
 lib/PublicInbox/LeiBlob.pm         | 19 +++++++------------
 lib/PublicInbox/LeiMailDiff.pm     |  6 ++----
 lib/PublicInbox/LeiMirror.pm       |  8 +++-----
 lib/PublicInbox/LeiRediff.pm       |  7 +++----
 lib/PublicInbox/SearchIdx.pm       |  6 ++----
 lib/PublicInbox/Spamcheck/Spamc.pm | 11 ++++-------
 lib/PublicInbox/Spawn.pm           | 13 +++++++++----
 lib/PublicInbox/TestCommon.pm      |  6 +-----
 12 files changed, 44 insertions(+), 63 deletions(-)

More deletions than insertions is good.

^ 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-09-26  7:44  6% [PATCH 0/6] waitpid-related cleanups Eric Wong
2023-09-26  7:44  7% ` [PATCH 4/6] fetch: fix missing chdir arg for error reporting 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).