summaryrefslogtreecommitdiff
path: root/ndb/src/mgmsrv/MgmtSrvr.cpp
diff options
context:
space:
mode:
authorstewart@willster.(none) <>2006-08-08 11:59:21 +0800
committerstewart@willster.(none) <>2006-08-08 11:59:21 +0800
commite95a60727f88e070f2923922078e5c3fe78e01e4 (patch)
tree48bb7da6f19c9a9f024ca2a23856e571ff06701e /ndb/src/mgmsrv/MgmtSrvr.cpp
parent95197805e2f843d29d5b0c9aecee6f9030e18973 (diff)
parentdf09e3ea0d3288f14586238033b521346a063f93 (diff)
downloadmariadb-git-e95a60727f88e070f2923922078e5c3fe78e01e4.tar.gz
Merge willster.(none):/home/stewart/Documents/MySQL/5.0/main
into willster.(none):/home/stewart/Documents/MySQL/5.0/bug13985
Diffstat (limited to 'ndb/src/mgmsrv/MgmtSrvr.cpp')
-rw-r--r--ndb/src/mgmsrv/MgmtSrvr.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/ndb/src/mgmsrv/MgmtSrvr.cpp b/ndb/src/mgmsrv/MgmtSrvr.cpp
index 69c0286a1de..d514f0da1a4 100644
--- a/ndb/src/mgmsrv/MgmtSrvr.cpp
+++ b/ndb/src/mgmsrv/MgmtSrvr.cpp
@@ -1455,6 +1455,12 @@ MgmtSrvr::exitSingleUser(int * stopCount, bool abort)
#include <ClusterMgr.hpp>
+void
+MgmtSrvr::updateStatus(NodeBitmask nodes)
+{
+ theFacade->theClusterMgr->forceHB(nodes);
+}
+
int
MgmtSrvr::status(int nodeId,
ndb_mgm_node_status * _status,
@@ -1979,6 +1985,25 @@ MgmtSrvr::get_connected_nodes(NodeBitmask &connected_nodes) const
}
}
+void
+MgmtSrvr::get_connected_ndb_nodes(NodeBitmask &connected_nodes) const
+{
+ NodeBitmask ndb_nodes;
+ if (theFacade && theFacade->theClusterMgr)
+ {
+ for(Uint32 i = 0; i < MAX_NODES; i++)
+ {
+ if (getNodeType(i) == NDB_MGM_NODE_TYPE_NDB)
+ {
+ ndb_nodes.set(i);
+ const ClusterMgr::Node &node= theFacade->theClusterMgr->getNodeInfo(i);
+ connected_nodes.bitOR(node.m_state.m_connected_nodes);
+ }
+ }
+ }
+ connected_nodes.bitAND(ndb_nodes);
+}
+
bool
MgmtSrvr::alloc_node_id(NodeId * nodeId,
enum ndb_mgm_node_type type,