diff options
Diffstat (limited to 'cpp/src/Glacier2/RequestQueue.cpp')
-rw-r--r-- | cpp/src/Glacier2/RequestQueue.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp index 7b5ded132f9..3696a3ae0b1 100644 --- a/cpp/src/Glacier2/RequestQueue.cpp +++ b/cpp/src/Glacier2/RequestQueue.cpp @@ -146,13 +146,17 @@ Glacier2::RequestQueue::~RequestQueue() void Glacier2::RequestQueue::destroy() { - IceUtil::Monitor<IceUtil::Mutex>::Lock lock(*this); - - assert(!_destroy); - _destroy = true; - notify(); + { + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(*this); + + assert(!_destroy); + _destroy = true; + notify(); + + _requests.clear(); + } - _requests.clear(); + getThreadControl().join(); } void |