mirror of
https://github.com/git/git
synced 2024-06-30 22:54:27 +00:00
Merge branch 'es/chainlint-ncores-fix'
The chainlint script (invoked during "make test") did nothing when it failed to detect the number of available CPUs. It now falls back to 1 CPU to avoid the problem. * es/chainlint-ncores-fix: chainlint.pl: latch CPU count directly reported by /proc/cpuinfo chainlint.pl: fix incorrect CPU count on Linux SPARC chainlint.pl: make CPU count computation more robust
This commit is contained in:
commit
b3ba0f2133
|
@ -716,11 +716,25 @@ sub fd_colors {
|
|||
|
||||
sub ncores {
|
||||
# Windows
|
||||
return $ENV{NUMBER_OF_PROCESSORS} if exists($ENV{NUMBER_OF_PROCESSORS});
|
||||
if (exists($ENV{NUMBER_OF_PROCESSORS})) {
|
||||
my $ncpu = $ENV{NUMBER_OF_PROCESSORS};
|
||||
return $ncpu > 0 ? $ncpu : 1;
|
||||
}
|
||||
# Linux / MSYS2 / Cygwin / WSL
|
||||
do { local @ARGV='/proc/cpuinfo'; return scalar(grep(/^processor[\s\d]*:/, <>)); } if -r '/proc/cpuinfo';
|
||||
if (open my $fh, '<', '/proc/cpuinfo') {
|
||||
my $cpuinfo = do { local $/; <$fh> };
|
||||
close($fh);
|
||||
if ($cpuinfo =~ /^n?cpus active\s*:\s*(\d+)/m) {
|
||||
return $1 if $1 > 0;
|
||||
}
|
||||
my @matches = ($cpuinfo =~ /^(processor|CPU)[\s\d]*:/mg);
|
||||
return @matches ? scalar(@matches) : 1;
|
||||
}
|
||||
# macOS & BSD
|
||||
return qx/sysctl -n hw.ncpu/ if $^O =~ /(?:^darwin$|bsd)/;
|
||||
if ($^O =~ /(?:^darwin$|bsd)/) {
|
||||
my $ncpu = qx/sysctl -n hw.ncpu/;
|
||||
return $ncpu > 0 ? $ncpu : 1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user