1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-04 17:23:46 +03:00

removed different CFG_ defined for connection host names

added support for setting up multiple interfaces
correct connect address for mgmt server
bug, -l flag would be interpreted as connectstring
added flag to remove all node id checks
changed automatic allocation of ports somewhat


ndb/include/mgmapi/mgmapi_config_parameters.h:
  removed different CFG_ defined for connection host names
ndb/include/transporter/TransporterRegistry.hpp:
  added support for setting up multiple interfaces
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  removed different CFG_ defined for connection host names
ndb/src/common/mgmcommon/IPCConfig.cpp:
  added support for setting up multiple interfaces
ndb/src/common/portlib/NdbTCP.cpp:
  added debug printouts
ndb/src/common/transporter/TransporterRegistry.cpp:
  added support for setting up multiple interfaces
ndb/src/common/util/SocketServer.cpp:
  added my_thread init to enable debug printouts
ndb/src/mgmclient/CommandInterpreter.cpp:
  shortened lines
ndb/src/mgmsrv/ConfigInfo.cpp:
  removed different CFG_ defined for connection host names
  changed automatic allocation of ports somewhat
ndb/src/mgmsrv/MgmtSrvr.cpp:
  correct connect address for mgmt server
ndb/src/mgmsrv/Services.cpp:
  shoretened lines
ndb/src/mgmsrv/main.cpp:
  bug, -l flag would be interpreted as connectstring
  added flag to remove all node id checks
This commit is contained in:
unknown
2004-09-16 23:36:13 +00:00
parent 5218404b12
commit 9956b20790
12 changed files with 296 additions and 182 deletions

View File

@@ -16,6 +16,7 @@
#include <ndb_global.h>
#include <my_pthread.h>
#include <SocketServer.hpp>
@@ -83,7 +84,8 @@ bool
SocketServer::setup(SocketServer::Service * service,
unsigned short port,
const char * intface){
DBUG_ENTER("SocketServer::setup");
DBUG_PRINT("enter",("interface=%s, port=%d", intface, port));
struct sockaddr_in servaddr;
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
@@ -92,36 +94,44 @@ SocketServer::setup(SocketServer::Service * service,
if(intface != 0){
if(Ndb_getInAddr(&servaddr.sin_addr, intface))
return false;
DBUG_RETURN(false);
}
const NDB_SOCKET_TYPE sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == NDB_INVALID_SOCKET) {
return false;
DBUG_PRINT("error",("socket() - %d - %s",
errno, strerror(errno)));
DBUG_RETURN(false);
}
const int on = 1;
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
(const char*)&on, sizeof(on)) == -1) {
DBUG_PRINT("error",("getsockopt() - %d - %s",
errno, strerror(errno)));
NDB_CLOSE_SOCKET(sock);
return false;
DBUG_RETURN(false);
}
if (bind(sock, (struct sockaddr*) &servaddr, sizeof(servaddr)) == -1) {
DBUG_PRINT("error",("bind() - %d - %s",
errno, strerror(errno)));
NDB_CLOSE_SOCKET(sock);
return false;
DBUG_RETURN(false);
}
if (listen(sock, m_maxSessions) == -1){
DBUG_PRINT("error",("listen() - %d - %s",
errno, strerror(errno)));
NDB_CLOSE_SOCKET(sock);
return false;
DBUG_RETURN(false);
}
ServiceInstance i;
i.m_socket = sock;
i.m_service = service;
m_services.push_back(i);
return true;
DBUG_RETURN(true);
}
void
@@ -177,8 +187,9 @@ void*
socketServerThread_C(void* _ss){
SocketServer * ss = (SocketServer *)_ss;
my_thread_init();
ss->doRun();
my_thread_end();
NdbThread_Exit(0);
return 0;
}
@@ -287,8 +298,10 @@ void*
sessionThread_C(void* _sc){
SocketServer::Session * si = (SocketServer::Session *)_sc;
my_thread_init();
if(!transfer(si->m_socket)){
si->m_stopped = true;
my_thread_end();
NdbThread_Exit(0);
return 0;
}
@@ -301,6 +314,7 @@ sessionThread_C(void* _sc){
}
si->m_stopped = true;
my_thread_end();
NdbThread_Exit(0);
return 0;
}