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")
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);
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));
}