diff options
author | Bernard Normier <bernard@zeroc.com> | 2007-02-20 23:27:07 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2007-02-20 23:27:07 +0000 |
commit | f57149dc45cc62ded14b8486ad8546954dfd90bf (patch) | |
tree | 9fc2ed20ac2d9b1b3f0ca5301a29503de59f7da0 /cpp | |
parent | Renamed Make.rules.mak (diff) | |
download | ice-f57149dc45cc62ded14b8486ad8546954dfd90bf.tar.bz2 ice-f57149dc45cc62ded14b8486ad8546954dfd90bf.tar.xz ice-f57149dc45cc62ded14b8486ad8546954dfd90bf.zip |
Add CtrlCHandler
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/demo/Ice/minimal/Server.cpp | 15 | ||||
-rw-r--r-- | cpp/include/IceUtil/IceUtil.h | 1 |
2 files changed, 15 insertions, 1 deletions
diff --git a/cpp/demo/Ice/minimal/Server.cpp b/cpp/demo/Ice/minimal/Server.cpp index 6b2e4874689..e7ff72db23e 100644 --- a/cpp/demo/Ice/minimal/Server.cpp +++ b/cpp/demo/Ice/minimal/Server.cpp @@ -7,16 +7,29 @@ // // ********************************************************************** +#include <IceUtil/IceUtil.h> #include <HelloI.h> #include <Ice/Ice.h> using namespace std; +static Ice::CommunicatorPtr communicator; + +static void +onCtrlC(int) +{ + if(communicator) + { + communicator->shutdown(); + } +} + int main(int argc, char* argv[]) { int status = EXIT_SUCCESS; - Ice::CommunicatorPtr communicator; + + IceUtil::CtrlCHandler ctrCHandler(onCtrlC); try { diff --git a/cpp/include/IceUtil/IceUtil.h b/cpp/include/IceUtil/IceUtil.h index 4ece43936c9..d686c762d12 100644 --- a/cpp/include/IceUtil/IceUtil.h +++ b/cpp/include/IceUtil/IceUtil.h @@ -34,5 +34,6 @@ #include <IceUtil/OutputUtil.h> #include <IceUtil/Options.h> #include <IceUtil/Random.h> +#include <IceUtil/CtrlCHandler.h> #endif |