OLD | NEW |
1 // Copyright (c) 2014, the Fletch project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dartino project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
4 | 4 |
5 #include "src/vm/thread.h" | 5 #include "src/vm/thread.h" |
6 #include "src/vm/thread_pool.h" | 6 #include "src/vm/thread_pool.h" |
7 | 7 |
8 namespace fletch { | 8 namespace fletch { |
9 | 9 |
10 ThreadPool::ThreadPool(int max_threads) | 10 ThreadPool::ThreadPool(int max_threads) |
11 : monitor_(Platform::CreateMonitor()), | 11 : monitor_(Platform::CreateMonitor()), |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 void ThreadPool::ThreadDone() { | 83 void ThreadPool::ThreadDone() { |
84 // We don't expect a thread to be returned to the system often, so the simple | 84 // We don't expect a thread to be returned to the system often, so the simple |
85 // solution of always taking the lock should be fine here. | 85 // solution of always taking the lock should be fine here. |
86 ScopedMonitorLock locker(monitor_); | 86 ScopedMonitorLock locker(monitor_); |
87 if (--threads_ == 0) { | 87 if (--threads_ == 0) { |
88 monitor_->NotifyAll(); | 88 monitor_->NotifyAll(); |
89 } | 89 } |
90 } | 90 } |
91 | 91 |
92 } // namespace fletch | 92 } // namespace fletch |
OLD | NEW |