summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/CtrlCHandler.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2017-04-23 12:19:35 -0400
committerBernard Normier <bernard@zeroc.com>2017-04-23 12:19:35 -0400
commitea7efa3c97a2a90e7354e59404a47d5b380c153d (patch)
tree5f07f01a533c760b114ef5d97b41ecd4dd9f6fa5 /cpp/src/IceUtil/CtrlCHandler.cpp
parentImproved C++11 version of CtrlCHandler (diff)
downloadice-ea7efa3c97a2a90e7354e59404a47d5b380c153d.tar.bz2
ice-ea7efa3c97a2a90e7354e59404a47d5b380c153d.tar.xz
ice-ea7efa3c97a2a90e7354e59404a47d5b380c153d.zip
Small update to CtrlCHandler
Diffstat (limited to 'cpp/src/IceUtil/CtrlCHandler.cpp')
-rw-r--r--cpp/src/IceUtil/CtrlCHandler.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpp/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp
index 656555aa74f..a7900cfa0b9 100644
--- a/cpp/src/IceUtil/CtrlCHandler.cpp
+++ b/cpp/src/IceUtil/CtrlCHandler.cpp
@@ -70,11 +70,13 @@ CtrlCHandlerException::ice_clone() const
}
#endif
-void
+CtrlCHandlerCallback
CtrlCHandler::setCallback(CtrlCHandlerCallback callback)
{
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
+ CtrlCHandlerCallback oldCallback = _callback;
_callback = callback;
+ return oldCallback;
}
CtrlCHandlerCallback
@@ -97,7 +99,7 @@ static BOOL WINAPI handlerRoutine(DWORD dwCtrlType)
}
callback = _callback;
}
- if(callback != 0)
+ if(callback)
{
callback(dwCtrlType);
}