diff options
author | Michi Henning <michi@zeroc.com> | 2002-11-13 03:47:26 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2002-11-13 03:47:26 +0000 |
commit | 2a336f55877147d0c38e0692dfd19dcecdf16ae1 (patch) | |
tree | 8e242382641d78edea0c41bfe1c412aae93719f1 /cpp/src/Ice/Application.cpp | |
parent | Fixed botched changes for Windows. (diff) | |
download | ice-2a336f55877147d0c38e0692dfd19dcecdf16ae1.tar.bz2 ice-2a336f55877147d0c38e0692dfd19dcecdf16ae1.tar.xz ice-2a336f55877147d0c38e0692dfd19dcecdf16ae1.zip |
Added interrupted() method so we can test whether a program terminated due
to a signal.
Diffstat (limited to 'cpp/src/Ice/Application.cpp')
-rw-r--r-- | cpp/src/Ice/Application.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index f87d16503be..78f3ed6ac95 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -20,6 +20,8 @@ using namespace Ice; const char* Application::_appName = 0; CommunicatorPtr Application::_communicator; +bool Application::_interrupted = false; + #ifndef _WIN32 const int Application::signals[] = { SIGHUP, SIGINT, SIGTERM }; sigset_t Application::signalSet; @@ -49,6 +51,7 @@ Ice::Application::main(int argc, char* argv[], const char* configFile) return EXIT_FAILURE; } + Application::_interrupted = false; _appName = argv[0]; int status; @@ -147,6 +150,8 @@ Ice::Application::communicator() BOOL WINAPI Ice::interruptHandler(DWORD) { + Application::_interrupted = true; + // // Don't use Application::communicator(), this is not signal-safe. // @@ -231,6 +236,8 @@ Ice::Application::releaseInterrupt() void Ice::interruptHandler(int) { + Application::_interrupted = true; + // // Don't use Application::communicator(), this is not signal-safe. // @@ -293,3 +300,9 @@ Ice::Application::releaseInterrupt() } #endif + +bool +Ice::Application::interrupted() +{ + return Application::_interrupted; +} |