summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index 9e05c898c84..ba85d3163af 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -459,9 +459,13 @@ Database::getNode(const string& name) const
void
Database::removeNode(const string& name)
{
- _nodeCache.get(name)->setSession(0);
-
+ //
+ // We must notify the observer first (there's an assert in the
+ // observer to ensure that only nodes which are up are teared
+ // down).
+ //
_nodeObserver->nodeDown(name);
+ _nodeCache.get(name)->setSession(0);
}
Ice::StringSeq