diff options
author | Jose <jose@zeroc.com> | 2015-12-15 18:35:14 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-12-15 18:35:14 +0100 |
commit | de0939c485861ad124f64e213883c74571eefa2b (patch) | |
tree | c6dc163ddcee5aa0d878eb2463b57fc6a32a5f47 /cpp/src/Ice/ThreadPool.cpp | |
parent | Removed iOS workaround from udp test (diff) | |
download | ice-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.cpp | 24 |
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) { |