diff options
author | Matthew Newhook <matthew@zeroc.com> | 2008-03-06 14:26:07 +0800 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2008-03-06 14:26:07 +0800 |
commit | bc6cdac7eda5e31c8fab6e891a7dc2078a7d22c6 (patch) | |
tree | dc10cb41cd1280cf115c6bf5a1302481a969e15d /cpp/demo/Ice/session/Client.cpp | |
parent | Fix to fix for 2395. Backed out Dwayne's previous change because we both work... (diff) | |
download | ice-bc6cdac7eda5e31c8fab6e891a7dc2078a7d22c6.tar.bz2 ice-bc6cdac7eda5e31c8fab6e891a7dc2078a7d22c6.tar.xz ice-bc6cdac7eda5e31c8fab6e891a7dc2078a7d22c6.zip |
Squashed commit of the following:
commit c2f83d9a3e0e1f97e76f33d7992ef8e3e2994d91
Author: Matthew Newhook <matthew@zeroc.com>
Date: Thu Mar 6 14:22:52 2008 +0800
Cleanup some IceGrid configuration files.
commit 4e33903c9ae238b9e317fc3f1f3e281c816374dd
Author: Matthew Newhook <matthew@zeroc.com>
Date: Thu Mar 6 14:17:10 2008 +0800
remove ttl setting.
commit c418b308ff7cc8e8a4296819938b88dfedc16a97
Author: Matthew Newhook <matthew@zeroc.com>
Date: Thu Mar 6 14:16:32 2008 +0800
remove useless PopulateEmptyIndices config.
commit da70d3936f921aa2c92bd2db7b1fcddb4467a9bd
Author: Matthew Newhook <matthew@zeroc.com>
Date: Thu Mar 6 13:59:51 2008 +0800
- Removed interrupt handlers for interactive C++ demos.
- Lots of cleanups to demos.
Diffstat (limited to 'cpp/demo/Ice/session/Client.cpp')
-rwxr-xr-x | cpp/demo/Ice/session/Client.cpp | 53 |
1 files changed, 10 insertions, 43 deletions
diff --git a/cpp/demo/Ice/session/Client.cpp b/cpp/demo/Ice/session/Client.cpp index 7d68813082a..ea11f4a2091 100755 --- a/cpp/demo/Ice/session/Client.cpp +++ b/cpp/demo/Ice/session/Client.cpp @@ -77,8 +77,8 @@ class SessionClient : public Ice::Application { public: + SessionClient(); virtual int run(int, char*[]); - virtual void interruptCallback(int); private: @@ -101,6 +101,15 @@ main(int argc, char* argv[]) return app.main(argc, argv, "config.client"); } +SessionClient::SessionClient() : + // + // Since this is an interactive demo we don't want any signal + // handling. + // + Application(Ice::NoSignalHandling) +{ +} + int SessionClient::run(int argc, char* argv[]) { @@ -110,12 +119,6 @@ SessionClient::run(int argc, char* argv[]) return EXIT_FAILURE; } - // - // Since this is an interactive demo we want the custom interrupt - // callback to be called when the process is interrupted. - // - callbackOnInterrupt(); - string name; cout << "Please enter your name ==> "; cin >> name; @@ -226,42 +229,6 @@ SessionClient::run(int argc, char* argv[]) } void -SessionClient::interruptCallback(int sig) -{ - // - // Workaround for older Linux platforms where SIGHUP is received - // when the process has a controlling terminal (such as under - // expect). - // - if(sig == SIGHUP) - { - return; - } - - // - // Terminate the refresh thread, destroy the session and then - // destroy the communicator, followed by an exit. We have to call - // exit because main may be blocked in a cin >> s call which - // cannot be interrupted portably. - // - cleanup(true); - - try - { - communicator()->destroy(); - } - catch(const IceUtil::Exception& ex) - { - cerr << appName() << ": " << ex << endl; - } - catch(...) - { - cerr << appName() << ": unknown exception" << endl; - } - exit(EXIT_SUCCESS); -} - -void SessionClient::cleanup(bool destroy) { IceUtil::Mutex::Lock sync(_mutex); |