diff options
author | unknown <stewart@mysql.com> | 2005-12-06 11:25:53 +0100 |
---|---|---|
committer | unknown <stewart@mysql.com> | 2005-12-06 11:25:53 +0100 |
commit | fc1c0f563572ec335c1ec34a7924cbd0774c3385 (patch) | |
tree | 354cbe2e24ea863dfe1bb55b61b2e051cd04ba91 /ndb | |
parent | d447f881db2a439049c8ce9e4e80dfd10c83ffa6 (diff) | |
download | mariadb-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.cpp | 17 |
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); - - } |