about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/V2Writable.pm9
-rw-r--r--t/xcpdb-reshard.t2
2 files changed, 3 insertions, 8 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm
index 8ad71b54..37d27302 100644
--- a/lib/PublicInbox/V2Writable.pm
+++ b/lib/PublicInbox/V2Writable.pm
@@ -34,13 +34,8 @@ our $NPROC_MAX_DEFAULT = 4;
 
 sub nproc_shards ($) {
         my ($creat_opt) = @_;
-        if (ref($creat_opt) eq 'HASH') {
-                if (defined(my $n = $creat_opt->{nproc})) {
-                        return $n
-                }
-        }
-
-        my $n = $ENV{NPROC};
+        my $n = $creat_opt->{nproc} if ref($creat_opt) eq 'HASH';
+        $n //= $ENV{NPROC};
         if (!$n) {
                 chomp($n = `nproc 2>/dev/null`);
                 # assume 2 cores if GNU nproc(1) is not available
diff --git a/t/xcpdb-reshard.t b/t/xcpdb-reshard.t
index 9f0034f1..5fce5ead 100644
--- a/t/xcpdb-reshard.t
+++ b/t/xcpdb-reshard.t
@@ -40,7 +40,7 @@ for my $i (1..$ndoc) {
 }
 $im->done;
 my @shards = grep(m!/\d+\z!, glob("$ibx->{inboxdir}/xap*/*"));
-is(scalar(@shards), $nproc, 'got expected shards');
+is(scalar(@shards), $nproc - 1, 'got expected shards');
 my $orig = $ibx->over->query_xover(1, $ndoc);
 my %nums = map {; "$_->{num}" => 1 } @$orig;