Skip to content
This repository was archived by the owner on Jun 15, 2023. It is now read-only.

Commit 378486b

Browse files
martelljhasse
authored andcommitted
Make -j 0 run unlimited parallel builds, fix ninja-build#1309
1 parent a65f0d4 commit 378486b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/ninja.cc

+6-3
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ void Usage(const BuildConfig& config) {
206206
" -C DIR change to DIR before doing anything else\n"
207207
" -f FILE specify input build file [default=build.ninja]\n"
208208
"\n"
209-
" -j N run N jobs in parallel [default=%d, derived from CPUs available]\n"
209+
" -j N run N jobs in parallel (0 means infinity) [default=%d, derived from CPUs available]\n"
210210
" -k N keep going until N jobs fail (0 means infinity) [default=1]\n"
211211
" -l N do not start new jobs if the load average is greater than N\n"
212212
" -n dry run (don't run commands but act like they succeeded)\n"
@@ -1121,9 +1121,12 @@ int ReadFlags(int* argc, char*** argv,
11211121
case 'j': {
11221122
char* end;
11231123
int value = strtol(optarg, &end, 10);
1124-
if (*end != 0 || value <= 0)
1124+
if (*end != 0 || value < 0)
11251125
Fatal("invalid -j parameter");
1126-
config->parallelism = value;
1126+
1127+
// We want to run N jobs in parallel. For N = 0, INT_MAX
1128+
// is close enough to infinite for most sane builds.
1129+
config->parallelism = value > 0 ? value : INT_MAX;
11271130
break;
11281131
}
11291132
case 'k': {

0 commit comments

Comments
 (0)