summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/ReapThread.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-11-14 18:34:39 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-11-14 18:34:39 +0000
commit393cfbff801e235234e640ee55145294286d8da7 (patch)
treef07fe0da99a70f0b280392e15f9afee10c92c81f /cpp/src/IceGrid/ReapThread.cpp
parentAdded notes for Visual C++ 2005. (diff)
downloadice-393cfbff801e235234e640ee55145294286d8da7.tar.bz2
ice-393cfbff801e235234e640ee55145294286d8da7.tar.xz
ice-393cfbff801e235234e640ee55145294286d8da7.zip
Fixed a bug where the node wouldn't properly shutdown if a server
activation request was received during shutdown. Fixed the reaper thread to properly catch exceptions. Fixed the simple test to shutdown the server before unregistering it.
Diffstat (limited to 'cpp/src/IceGrid/ReapThread.cpp')
-rw-r--r--cpp/src/IceGrid/ReapThread.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/ReapThread.cpp b/cpp/src/IceGrid/ReapThread.cpp
index 80c205a7e7b..35e4a365040 100644
--- a/cpp/src/IceGrid/ReapThread.cpp
+++ b/cpp/src/IceGrid/ReapThread.cpp
@@ -34,7 +34,13 @@ ReapThread::run()
{
if((IceUtil::Time::now() - p->first->timestamp()) > _timeout)
{
- p->second->destroy();
+ try
+ {
+ p->second->destroy();
+ }
+ catch(const Ice::LocalException&)
+ {
+ }
p = _sessions.erase(p);
}
else