summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2019-02-26 09:03:12 +0100
committerRobert Swiecki <robert@swiecki.net>2019-02-26 09:03:12 +0100
commit555e47fcab94cba20b1cb22532dab6e8a2786c26 (patch)
tree340910752df5040ffc2d96c0bfbf5350f726d338
parent2a96bec5ee03282f6d16f50916e3d009df25cf4d (diff)
downloadhonggfuzz-555e47fcab94cba20b1cb22532dab6e8a2786c26.tar.gz
cmdline: allow to use -na or -n all to use all cores
-rw-r--r--cmdline.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/cmdline.c b/cmdline.c
index ebace3be..fe40c86b 100644
--- a/cmdline.c
+++ b/cmdline.c
@@ -243,8 +243,10 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) {
.threads =
{
.threadsFinished = 0,
- .threadsMax =
- (sysconf(_SC_NPROCESSORS_ONLN) <= 1) ? 1 : sysconf(_SC_NPROCESSORS_ONLN) / 2,
+ .threadsMax = ({
+ long ncpus = sysconf(_SC_NPROCESSORS_ONLN);
+ (ncpus <= 1 ? 1 : ncpus / 2);
+ }),
.threadsActiveCnt = 0,
.mainThread = pthread_self(),
.mainPid = getpid(),
@@ -561,7 +563,12 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) {
hfuzz->cfg.reportFile = optarg;
break;
case 'n':
- hfuzz->threads.threadsMax = atol(optarg);
+ if (optarg[0] == 'a') {
+ long ncpus = sysconf(_SC_NPROCESSORS_ONLN);
+ hfuzz->threads.threadsMax = (ncpus < 1 ? 1 : ncpus);
+ } else {
+ hfuzz->threads.threadsMax = atol(optarg);
+ }
break;
case 0x109: {
time_t p = atol(optarg);