diff options
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r-- | cpp/src/Ice/ThreadPool.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp index bbd8b49d087..1479b79de90 100644 --- a/cpp/src/Ice/ThreadPool.cpp +++ b/cpp/src/Ice/ThreadPool.cpp @@ -678,6 +678,9 @@ IceInternal::ThreadPool::run(const EventHandlerThreadPtr& thread) } catch(const ThreadPoolDestroyedException&) { + Lock sync(*this); + --_inUse; + thread->setState(ICE_ENUM(ThreadState, ThreadStateIdle)); return; } catch(const exception& ex) |