summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/CtrlCHandler.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2016-07-22 17:09:25 -0400
committerBernard Normier <bernard@zeroc.com>2016-07-22 17:09:25 -0400
commit752e06b4eb63abb8a30bb958802eaedda72d3806 (patch)
tree7c2348544d202c310a55a62629abc4025daa03a5 /cpp/src/IceUtil/CtrlCHandler.cpp
parentDisable VS 2015 update 3 optimizer (diff)
downloadice-752e06b4eb63abb8a30bb958802eaedda72d3806.tar.bz2
ice-752e06b4eb63abb8a30bb958802eaedda72d3806.tar.xz
ice-752e06b4eb63abb8a30bb958802eaedda72d3806.zip
Added ICE_BUILDING_SRC to make builds
Ice::Dispatcher and Ice::LocalObject are now hidden with C++11 Reworked C++11 exception ice_clone, added ExceptionHelper + other C++ cleanups
Diffstat (limited to 'cpp/src/IceUtil/CtrlCHandler.cpp')
-rw-r--r--cpp/src/IceUtil/CtrlCHandler.cpp21
1 files changed, 7 insertions, 14 deletions
diff --git a/cpp/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp
index 6eac2e7e05a..4fd8fe406fd 100644
--- a/cpp/src/IceUtil/CtrlCHandler.cpp
+++ b/cpp/src/IceUtil/CtrlCHandler.cpp
@@ -51,7 +51,7 @@ Init init;
}
CtrlCHandlerException::CtrlCHandlerException(const char* file, int line) :
- Exception(file, line)
+ ExceptionHelper<CtrlCHandlerException>(file, line)
{
}
@@ -70,19 +70,13 @@ CtrlCHandlerException::ice_clone() const
#endif
void
-CtrlCHandlerException::ice_throw() const
-{
- throw *this;
-}
-
-void
CtrlCHandler::setCallback(CtrlCHandlerCallback callback)
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
_callback = callback;
}
-CtrlCHandlerCallback
+CtrlCHandlerCallback
CtrlCHandler::getCallback() const
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
@@ -140,10 +134,10 @@ CtrlCHandler::~CtrlCHandler()
#else
-extern "C"
+extern "C"
{
-static void*
+static void*
sigwaitThread(void*)
{
sigset_t ctrlCLikeSignals;
@@ -168,7 +162,7 @@ sigwaitThread(void*)
continue;
}
assert(rc == 0);
-
+
CtrlCHandlerCallback callback;
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
@@ -211,11 +205,11 @@ CtrlCHandler::CtrlCHandler(CtrlCHandlerCallback callback)
_handler = this;
lock.release();
-
+
// We block these CTRL+C like signals in the main thread,
// and by default all other threads will inherit this signal
// mask.
-
+
sigset_t ctrlCLikeSignals;
sigemptyset(&ctrlCLikeSignals);
sigaddset(&ctrlCLikeSignals, SIGHUP);
@@ -265,4 +259,3 @@ CtrlCHandler::~CtrlCHandler()
}
#endif
-