summaryrefslogtreecommitdiff
path: root/src/support/threads.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/support/threads.cpp')
-rw-r--r--src/support/threads.cpp5
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() {