Commit 21891289 authored by stewart@mysql.com's avatar stewart@mysql.com

Merge ssmith@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb

into  mysql.com:/home/stewart/Documents/MySQL/5.0/bug10950
parents f3ba8ea2 d09df616
......@@ -1310,11 +1310,17 @@ TransporterRegistry::start_clients_thread()
if (server_port)
t->set_s_port(server_port);
}
else
else if(ndb_mgm_is_connected(m_mgm_handle))
{
ndbout_c("Failed to get dynamic port to connect to: %d", res);
ndb_mgm_disconnect(m_mgm_handle);
}
else
{
ndbout_c("Management server closed connection early. "
"It is probably being shut down (or has crashed). "
"We will retry the connection.");
}
}
/** else
* We will not be able to get a new port unless
......
......@@ -326,17 +326,23 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow<ParserDummy> *command_reply,
const Properties* p = parser.parse(ctx, session);
if (p == NULL){
/**
* Print some info about why the parser returns NULL
*/
ndbout << "Error in mgm protocol parser. "
<< "cmd: '" << cmd
<< "' status=" << (Uint32)ctx.m_status
<< ", curr=" << ctx.m_currentToken
if(!ndb_mgm_is_connected(handle)) {
return NULL;
}
else
{
/**
* Print some info about why the parser returns NULL
*/
ndbout << "Error in mgm protocol parser. "
<< "cmd: '" << cmd
<< "' status=" << (Uint32)ctx.m_status
<< ", curr=" << ctx.m_currentToken
<< endl;
DBUG_PRINT("info",("ctx.status: %d, ctx.m_currentToken: %s",
ctx.m_status, ctx.m_currentToken));
}
DBUG_PRINT("info",("ctx.status: %d, ctx.m_currentToken: %s",
ctx.m_status, ctx.m_currentToken));
}
}
#ifdef MGMAPI_LOG
else {
/**
......@@ -354,8 +360,24 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow<ParserDummy> *command_reply,
extern "C"
int ndb_mgm_is_connected(NdbMgmHandle handle)
{
struct pollfd pfd[1];
int r;
if(!handle)
return 0;
if(handle->connected)
{
pfd[0].fd= handle->socket;
pfd[0].events= POLLHUP | POLLIN | POLLOUT | POLLNVAL;
pfd[0].revents= 0;
r= poll(pfd,1,0);
if(pfd[0].revents & POLLHUP)
{
handle->connected= 0;
NDB_CLOSE_SOCKET(handle->socket);
}
}
return handle->connected;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment