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] git: return upon self->close
@ 2023-11-20  8:46  4% Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2023-11-20  8:46 UTC (permalink / raw)
  To: meta

I encountered the odd lack of `return' while chasing Gcf2 bugs
on CentOS 7.x which resulted in commit 7d06b126e939
("gcf2: fix autodie usage for older Perl") and commit e618c7654794
("gcf2client: add alias for PublicInbox::Git::fail") before
realizing the lack of `return' here wasn't the culprit behind
failures on CentOS 7.x.

However, the use of a `return' here appears required in case we
actually hit the error path, since falling through and
attempting my_readline with an undefined filehandle is always a
failure.

Fixes: e97a30e7624d ("lei: fix SIGPIPE on large result sets to pager")
---
 lib/PublicInbox/Git.pm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index 292c359a..bef524aa 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -276,7 +276,7 @@ sub cat_async_step ($$) {
 
 sub cat_async_wait ($) {
 	my ($self) = @_;
-	$self->close if !$self->{sock};
+	return $self->close if !$self->{sock};
 	my $inflight = $self->{inflight} or return;
 	while (scalar(@$inflight)) {
 		cat_async_step($self, $inflight);
@@ -332,7 +332,7 @@ sub check_async_wait ($) {
 	my ($self) = @_;
 	return cat_async_wait($self) if $self->{-bc};
 	my $ck = $self->{ck} or return;
-	$ck->close if !$ck->{sock};
+	return $ck->close if !$ck->{sock};
 	my $inflight = $ck->{inflight} or return;
 	check_async_step($ck, $inflight) while (scalar(@$inflight));
 }

^ permalink raw reply related	[relevance 4%]

* [PATCH 1/3] gcf2client: add alias for PublicInbox::Git::fail
  2023-11-15  4:32  4% [PATCH 0/3] libgit2 fixes for CentOS 7.x users Eric Wong
@ 2023-11-15  4:32  7% ` Eric Wong
  0 siblings, 0 replies; 3+ results
From: Eric Wong @ 2023-11-15  4:32 UTC (permalink / raw)
  To: meta

Ensure we can ->fail properly from other subs we can within
Gcf2Client.  This doesn't fix the test failures on CentOS 7.x,
but tries to make it easier to fix underlying problems and
report OOM errors and other things which the test suite doesn't
touch on.
---
 lib/PublicInbox/Gcf2Client.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/PublicInbox/Gcf2Client.pm b/lib/PublicInbox/Gcf2Client.pm
index 5220c474..48d8c5ac 100644
--- a/lib/PublicInbox/Gcf2Client.pm
+++ b/lib/PublicInbox/Gcf2Client.pm
@@ -52,6 +52,7 @@ no warnings 'once';
 
 *cat_async_step = \&PublicInbox::Git::cat_async_step; # for event_step
 *event_step = \&PublicInbox::Git::event_step;
+*fail = \&PublicInbox::Git::fail;
 *DESTROY = \&PublicInbox::Git::DESTROY;
 
 1;

^ permalink raw reply related	[relevance 7%]

* [PATCH 0/3] libgit2 fixes for CentOS 7.x users
@ 2023-11-15  4:32  4% Eric Wong
  2023-11-15  4:32  7% ` [PATCH 1/3] gcf2client: add alias for PublicInbox::Git::fail Eric Wong
  0 siblings, 1 reply; 3+ results
From: Eric Wong @ 2023-11-15  4:32 UTC (permalink / raw)
  To: meta

These only spring up with libgit2-devel installed, but
3/3 seems important for all users of older Perl in
order to avoid future surprises.

Eric Wong (3):
  gcf2client: add alias for PublicInbox::Git::fail
  gcf2: fix autodie usage for older Perl
  treewide: more autodie safety fixes for older Perl

 lib/PublicInbox/Gcf2.pm         | 13 ++++++-------
 lib/PublicInbox/Gcf2Client.pm   |  1 +
 lib/PublicInbox/IO.pm           |  2 ++
 lib/PublicInbox/LEI.pm          |  7 +++----
 lib/PublicInbox/TestCommon.pm   |  5 ++---
 lib/PublicInbox/XapHelperCxx.pm | 18 ++++++++----------
 t/extsearch.t                   |  3 +--
 t/io.t                          | 10 +++++++++-
 8 files changed, 32 insertions(+), 27 deletions(-)

^ permalink raw reply	[relevance 4%]

Results 1-3 of 3 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2023-11-15  4:32  4% [PATCH 0/3] libgit2 fixes for CentOS 7.x users Eric Wong
2023-11-15  4:32  7% ` [PATCH 1/3] gcf2client: add alias for PublicInbox::Git::fail Eric Wong
2023-11-20  8:46  4% [PATCH] git: return upon self->close 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).