diff options
author | stewart@willster.(none) <> | 2006-08-08 11:59:21 +0800 |
---|---|---|
committer | stewart@willster.(none) <> | 2006-08-08 11:59:21 +0800 |
commit | e95a60727f88e070f2923922078e5c3fe78e01e4 (patch) | |
tree | 48bb7da6f19c9a9f024ca2a23856e571ff06701e /ndb/src/mgmsrv/MgmtSrvr.cpp | |
parent | 95197805e2f843d29d5b0c9aecee6f9030e18973 (diff) | |
parent | df09e3ea0d3288f14586238033b521346a063f93 (diff) | |
download | mariadb-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.cpp | 25 |
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, |