diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-18 11:44:55 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-18 11:44:55 -0700 |
commit | c611306758e6c811642623500a51b0da52758303 (patch) | |
tree | 4062588ad1a0e7e44dad6e72671557b22431b276 /src/support/threads.cpp | |
parent | 4b5d4efc7091e25b303cb57076ebdee980b8b464 (diff) | |
parent | d929ba9756378b4b67a921714f608b505cb6cb99 (diff) | |
download | binaryen-c611306758e6c811642623500a51b0da52758303.tar.gz binaryen-c611306758e6c811642623500a51b0da52758303.tar.bz2 binaryen-c611306758e6c811642623500a51b0da52758303.zip |
Merge pull request #353 from WebAssembly/thread-tweaks
Thread fixes
Diffstat (limited to 'src/support/threads.cpp')
-rw-r--r-- | src/support/threads.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/support/threads.cpp b/src/support/threads.cpp index 6edff21cb..e67e7dedb 100644 --- a/src/support/threads.cpp +++ b/src/support/threads.cpp @@ -117,6 +117,9 @@ void ThreadPool::initialize(size_t num) { ThreadPool* ThreadPool::get() { if (!pool) { size_t num = std::max(1U, std::thread::hardware_concurrency()); + if (getenv("BINARYEN_CORES")) { + num = std::stoi(getenv("BINARYEN_CORES")); + } pool = std::unique_ptr<ThreadPool>(new ThreadPool()); pool->initialize(num); } @@ -152,7 +155,7 @@ void ThreadPool::work(std::vector<std::function<ThreadWorkState ()>>& doWorkers) } size_t ThreadPool::size() { - return threads.size(); + return std::max(size_t(1), threads.size()); } bool ThreadPool::isRunning() { |