summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2016-09-25 15:02:38 -0400
committerGitHub <noreply@github.com>2016-09-25 15:02:38 -0400
commite7839f22006073101ff1f72a5b78c1ae06092399 (patch)
treed1d926e907efae4d4fe793ed2789dbbd2432c6b9
parent9dc5464c84cf96c8e7cba96e2b470ebd066c2393 (diff)
parent9f1aae64f85b69a4b495498b5c802942a4c39143 (diff)
Merge pull request #71 from catchmrbharath/issue46
[Fixes #46] Use 1 less worker thread than number of threads
-rw-r--r--src/main.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index 6987c18b..bdb8b584 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -28,6 +28,7 @@ use std::process;
use std::result;
use std::sync::{Arc, Mutex};
use std::thread;
+use std::cmp;
use deque::{Stealer, Stolen};
use grep::Grep;
@@ -102,7 +103,7 @@ fn run(args: Args) -> Result<u64> {
let workq = {
let (workq, stealer) = deque::new();
- for _ in 0..args.threads() {
+ for _ in 0..cmp::max(1, args.threads() - 1) {
let worker = MultiWorker {
chan_work: stealer.clone(),
out: out.clone(),