summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ThreadPool.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2015-12-15 18:35:14 +0100
committerJose <jose@zeroc.com>2015-12-15 18:35:14 +0100
commitde0939c485861ad124f64e213883c74571eefa2b (patch)
treec6dc163ddcee5aa0d878eb2463b57fc6a32a5f47 /cpp/src/Ice/ThreadPool.cpp
parentRemoved iOS workaround from udp test (diff)
downloadice-de0939c485861ad124f64e213883c74571eefa2b.tar.bz2
ice-de0939c485861ad124f64e213883c74571eefa2b.tar.xz
ice-de0939c485861ad124f64e213883c74571eefa2b.zip
C++11 mapping: fixes to InitializationData
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r--cpp/src/Ice/ThreadPool.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 95ca1000e7d..2cea6bbc1ef 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -511,7 +511,15 @@ IceInternal::ThreadPool::dispatchFromThisThread(const DispatchWorkItemPtr& workI
{
try
{
+#ifdef ICE_CPP11_MAPPING
+ _dispatcher([workItem]()
+ {
+ workItem->run();
+ },
+ workItem->getConnection());
+#else
_dispatcher->dispatch(workItem, workItem->getConnection());
+#endif
}
catch(const std::exception& ex)
{
@@ -1165,11 +1173,19 @@ IceInternal::ThreadPool::EventHandlerThread::setState(Ice::Instrumentation::Thre
void
IceInternal::ThreadPool::EventHandlerThread::run()
{
+#ifdef ICE_CPP11_MAPPING
+ if(_pool->_instance->initializationData().threadStart)
+#else
if(_pool->_instance->initializationData().threadHook)
+#endif
{
try
{
+#ifdef ICE_CPP11_MAPPING
+ _pool->_instance->initializationData().threadStart();
+#else
_pool->_instance->initializationData().threadHook->start();
+#endif
}
catch(const exception& ex)
{
@@ -1200,11 +1216,19 @@ IceInternal::ThreadPool::EventHandlerThread::run()
_observer.detach();
+#ifdef ICE_CPP11_MAPPING
+ if(_pool->_instance->initializationData().threadStop)
+#else
if(_pool->_instance->initializationData().threadHook)
+#endif
{
try
{
+#ifdef ICE_CPP11_MAPPING
+ _pool->_instance->initializationData().threadStop();
+#else
_pool->_instance->initializationData().threadHook->stop();
+#endif
}
catch(const exception& ex)
{