diff options
author | Marc Laukien <marc@zeroc.com> | 2004-12-03 19:46:51 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2004-12-03 19:46:51 +0000 |
commit | 895c126dadd9e1c0e8641269d16d4b8d3dd70c13 (patch) | |
tree | 3e3003d57dc23a99bb1829bf9a525aec85517412 /cpp/src/IceUtil/CtrlCHandler.cpp | |
parent | fix for proxy marshaling bug (diff) | |
download | ice-895c126dadd9e1c0e8641269d16d4b8d3dd70c13.tar.bz2 ice-895c126dadd9e1c0e8641269d16d4b8d3dd70c13.tar.xz ice-895c126dadd9e1c0e8641269d16d4b8d3dd70c13.zip |
fixes
Diffstat (limited to 'cpp/src/IceUtil/CtrlCHandler.cpp')
-rw-r--r-- | cpp/src/IceUtil/CtrlCHandler.cpp | 63 |
1 files changed, 53 insertions, 10 deletions
diff --git a/cpp/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp index 4e92ad5a0a7..36063bdffb9 100644 --- a/cpp/src/IceUtil/CtrlCHandler.cpp +++ b/cpp/src/IceUtil/CtrlCHandler.cpp @@ -73,10 +73,32 @@ static BOOL WINAPI handlerRoutine(DWORD dwCtrlType) { callback(dwCtrlType); } - catch(...) - { - assert(0); - } + catch(const IceUtil::Exception& ex) + { + cerr << " (while destroying in response to signal " + << "): " << ex << endl; + } + catch(const std::exception& ex) + { + cerr << " (while destroying in response to signal " + << "): std::exception: " << ex.what() << endl; + } + catch(const std::string& msg) + { + cerr << " (while destroying in response to signal " + << "): " << msg << endl; + } + catch(const char * msg) + { + cerr << " (while destroying in response to signal " + << "): " << msg << endl; + } + catch(...) + { + cerr << " (while destroying in response to signal " + << "): unknown exception" << endl; + } + } return TRUE; } @@ -155,12 +177,33 @@ sigwaitThread(void*) { try { - callback(signal); - } - catch(...) - { - assert(0); - } + callback(signal); + } + catch(const IceUtil::Exception& ex) + { + cerr << " (while destroying in response to signal " + << "): " << ex << endl; + } + catch(const std::exception& ex) + { + cerr << " (while destroying in response to signal " + << "): std::exception: " << ex.what() << endl; + } + catch(const std::string& msg) + { + cerr << " (while destroying in response to signal " + << "): " << msg << endl; + } + catch(const char * msg) + { + cerr << " (while destroying in response to signal " + << "): " << msg << endl; + } + catch(...) + { + cerr << " (while destroying in response to signal " + << "): unknown exception" << endl; + } } rc = pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, 0); |