summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ThreadPool.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2016-09-09 17:09:24 +0200
committerBenoit Foucher <benoit@zeroc.com>2016-09-09 17:09:24 +0200
commitdc89ff0a5bfbd8504dc9443a4d94f9b18e7c59bd (patch)
tree6319f8f53eec524d6a09f0d14ed6859515b49f47 /cpp/src/Ice/ThreadPool.cpp
parentICE-7333 - Java/C# cross test failure in Ice/optional (diff)
downloadice-dc89ff0a5bfbd8504dc9443a4d94f9b18e7c59bd.tar.bz2
ice-dc89ff0a5bfbd8504dc9443a4d94f9b18e7c59bd.tar.xz
ice-dc89ff0a5bfbd8504dc9443a4d94f9b18e7c59bd.zip
Fixed ICE-7320 - C++ thread pool and event handler leak
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r--cpp/src/Ice/ThreadPool.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 87e3db78a23..7423a3b21f2 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -70,6 +70,11 @@ public:
execute(ThreadPoolCurrent& current)
{
_handler->finished(current, _close);
+
+ //
+ // Break cyclic reference count.
+ //
+ _handler->getNativeInfo()->setReadyCallback(0);
}
private: