-Git->new and -Limiter->new will never fail unless there's
an OOM, so using `eval' is incorrect.
sub _set_limiter ($$$) {
my ($self, $pi_config, $pfx) = @_;
my $lkey = "-${pfx}_limiter";
sub _set_limiter ($$$) {
my ($self, $pi_config, $pfx) = @_;
my $lkey = "-${pfx}_limiter";
- $self->{$lkey} ||= eval {
+ $self->{$lkey} ||= do {
# full key is: publicinbox.$NAME.httpbackendmax
my $mkey = $pfx.'max';
my $val = $self->{$mkey} or return;
# full key is: publicinbox.$NAME.httpbackendmax
my $mkey = $pfx.'max';
my $val = $self->{$mkey} or return;
sub git_epoch {
my ($self, $epoch) = @_;
$self->version == 2 or return;
sub git_epoch {
my ($self, $epoch) = @_;
$self->version == 2 or return;
- $self->{"$epoch.git"} ||= eval {
+ $self->{"$epoch.git"} ||= do {
my $git_dir = "$self->{inboxdir}/git/$epoch.git";
my $g = PublicInbox::Git->new($git_dir);
$g->{-httpbackend_limiter} = $self->{-httpbackend_limiter};
my $git_dir = "$self->{inboxdir}/git/$epoch.git";
my $g = PublicInbox::Git->new($git_dir);
$g->{-httpbackend_limiter} = $self->{-httpbackend_limiter};
sub git {
my ($self) = @_;
sub git {
my ($self) = @_;
- $self->{git} ||= eval {
my $git_dir = $self->{inboxdir};
$git_dir .= '/all.git' if $self->version == 2;
my $g = PublicInbox::Git->new($git_dir);
my $git_dir = $self->{inboxdir};
$git_dir .= '/all.git' if $self->version == 2;
my $g = PublicInbox::Git->new($git_dir);