summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <stewart@mysql.com>2005-12-06 11:25:53 +0100
committerunknown <stewart@mysql.com>2005-12-06 11:25:53 +0100
commitfc1c0f563572ec335c1ec34a7924cbd0774c3385 (patch)
tree354cbe2e24ea863dfe1bb55b61b2e051cd04ba91 /ndb
parentd447f881db2a439049c8ce9e4e80dfd10c83ffa6 (diff)
downloadmariadb-git-fc1c0f563572ec335c1ec34a7924cbd0774c3385.tar.gz
BUG#15512 crash during online add of API/SQL node
ndb/src/kernel/blocks/qmgr/QmgrMain.cpp: Only get_connect_address for connected nodes. (also cleanup whitespace)
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/kernel/blocks/qmgr/QmgrMain.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp b/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
index 7003d70e8b1..ed18a4ddb8b 100644
--- a/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
+++ b/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
@@ -2030,29 +2030,32 @@ void Qmgr::execAPI_REGREQ(Signal* signal)
}//Qmgr::execAPI_REGREQ()
-void
+void
Qmgr::execAPI_VERSION_REQ(Signal * signal) {
jamEntry();
ApiVersionReq * const req = (ApiVersionReq *)signal->getDataPtr();
-
+
Uint32 senderRef = req->senderRef;
Uint32 nodeId = req->nodeId;
ApiVersionConf * conf = (ApiVersionConf *)req;
if(getNodeInfo(nodeId).m_connected)
+ {
conf->version = getNodeInfo(nodeId).m_version;
+ struct in_addr in= globalTransporterRegistry.get_connect_address(nodeId);
+ conf->inet_addr= in.s_addr;
+ }
else
+ {
conf->version = 0;
+ conf->inet_addr= 0;
+ }
conf->nodeId = nodeId;
- struct in_addr in= globalTransporterRegistry.get_connect_address(nodeId);
- conf->inet_addr= in.s_addr;
- sendSignal(senderRef,
+ sendSignal(senderRef,
GSN_API_VERSION_CONF,
signal,
ApiVersionConf::SignalLength, JBB);
-
-
}