diff options
author | 2017-04-18 13:14:45 -0700 | |
---|---|---|
committer | 2017-04-18 13:14:45 -0700 | |
commit | 35f27cd457207e6d51304a40d736dca53285e79f (patch) | |
tree | feaf11d70e32dcb96bfb600793a8be37fda122af /src/cpp/thread_manager/thread_manager.cc | |
parent | 4818150728ba9edf84231a726048763cf555a81a (diff) |
More cleanup
Diffstat (limited to 'src/cpp/thread_manager/thread_manager.cc')
-rw-r--r-- | src/cpp/thread_manager/thread_manager.cc | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/cpp/thread_manager/thread_manager.cc b/src/cpp/thread_manager/thread_manager.cc index 73c59eeff0..ebcc4dd378 100644 --- a/src/cpp/thread_manager/thread_manager.cc +++ b/src/cpp/thread_manager/thread_manager.cc @@ -109,22 +109,13 @@ void ThreadManager::CleanupCompletedThreads() { } void ThreadManager::Initialize() { - for (int i = 0; i < min_pollers_; i++) { - MaybeCreatePoller(); + { + std::unique_lock<std::mutex> lock(mu_); + num_pollers_ = min_pollers_; + num_threads_ = min_pollers_; } -} - -// Create a new poller if the current number of pollers i.e num_pollers_ (i.e -// threads currently blocked in PollForWork()) is below the threshold (i.e -// min_pollers_) and the total number of threads is below the maximum threshold -void ThreadManager::MaybeCreatePoller() { - std::unique_lock<std::mutex> lock(mu_); - if (!shutdown_ && num_pollers_ < min_pollers_) { - num_pollers_++; - num_threads_++; - - lock.unlock(); + for (int i = 0; i < min_pollers_; i++) { // Create a new thread (which ends up calling the MainWorkLoop() function new WorkerThread(this); } |