diff options
Diffstat (limited to 'cpp/demo/book/freeze_filesystem/Client.cpp')
-rw-r--r-- | cpp/demo/book/freeze_filesystem/Client.cpp | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/cpp/demo/book/freeze_filesystem/Client.cpp b/cpp/demo/book/freeze_filesystem/Client.cpp index e73351b6777..f0d94260522 100644 --- a/cpp/demo/book/freeze_filesystem/Client.cpp +++ b/cpp/demo/book/freeze_filesystem/Client.cpp @@ -15,8 +15,10 @@ using namespace Filesystem; class FilesystemClient : public Ice::Application { +public: + + FilesystemClient(); virtual int run(int argc, char* argv[]); - virtual void interruptCallback(int); }; int @@ -26,15 +28,18 @@ main(int argc, char* argv[]) return app.main(argc, argv, "config.client"); } -int -FilesystemClient::run(int argc, char* argv[]) -{ +FilesystemClient::FilesystemClient() : // - // Since this is an interactive demo we want the custom interrupt - // callback to be called when the process is interrupted. + // Since this is an interactive demo we don't want any signal + // handling. // - callbackOnInterrupt(); + Application(Ice::NoSignalHandling) +{ +} +int +FilesystemClient::run(int argc, char* argv[]) +{ // // Create a proxy for the root directory. // @@ -131,21 +136,3 @@ FilesystemClient::run(int argc, char* argv[]) return EXIT_SUCCESS; } - -void -FilesystemClient::interruptCallback(int) -{ - try - { - communicator()->destroy(); - } - catch(const IceUtil::Exception& ex) - { - cerr << appName() << ": " << ex << endl; - } - catch(...) - { - cerr << appName() << ": unknown exception" << endl; - } - exit(EXIT_SUCCESS); -} |