summaryrefslogtreecommitdiff
path: root/cpp/demo/book/freeze_filesystem/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/book/freeze_filesystem/Client.cpp')
-rw-r--r--cpp/demo/book/freeze_filesystem/Client.cpp37
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);
-}