diff options
author | unknown <tomas@poseidon.(none)> | 2004-08-25 11:42:15 +0000 |
---|---|---|
committer | unknown <tomas@poseidon.(none)> | 2004-08-25 11:42:15 +0000 |
commit | a95fd2d9a1ac9f8b34872c4d1a9c9b1ca0b53f69 (patch) | |
tree | 0974bd41305cb75cd334241da282f861a3620c85 | |
parent | d0a06b6fd698e0b205a3888a074b2eed295d2d61 (diff) | |
parent | bbe1033ae6489358e1533cd044e0dcad7cec222c (diff) | |
download | mariadb-git-a95fd2d9a1ac9f8b34872c4d1a9c9b1ca0b53f69.tar.gz |
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.(none):/home/tomas/mysql-4.1-ndb
ndb/src/common/mgmcommon/ConfigInfo.cpp:
Auto merged
-rw-r--r-- | ndb/src/common/mgmcommon/ConfigInfo.cpp | 48 | ||||
-rw-r--r-- | ndb/src/mgmsrv/main.cpp | 14 |
2 files changed, 48 insertions, 14 deletions
diff --git a/ndb/src/common/mgmcommon/ConfigInfo.cpp b/ndb/src/common/mgmcommon/ConfigInfo.cpp index 407e537ce85..95646e4899e 100644 --- a/ndb/src/common/mgmcommon/ConfigInfo.cpp +++ b/ndb/src/common/mgmcommon/ConfigInfo.cpp @@ -14,6 +14,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include <ndb_global.h> + #include <NdbTCP.h> #include "ConfigInfo.hpp" #include <mgmapi_config_parameters.h> @@ -2369,12 +2371,40 @@ transformNode(InitConfigFileParser::Context & ctx, const char * data){ return true; } +static bool checkLocalhostHostnameMix(InitConfigFileParser::Context & ctx) +{ + DBUG_ENTER("checkLocalhostHostnameMix"); + const char * hostname= 0; + ctx.m_currentSection->get("HostName", &hostname); + if (hostname == 0 || hostname[0] == 0) + DBUG_RETURN(true); + + Uint32 localhost_used= 0; + if(!strcmp(hostname, "localhost") || !strcmp(hostname, "127.0.0.1")){ + localhost_used= 1; + ctx.m_userProperties.put("$computer-localhost-used", localhost_used); + if(!ctx.m_userProperties.get("$computer-localhost", &hostname)) + DBUG_RETURN(true); + } else { + ctx.m_userProperties.get("$computer-localhost-used", &localhost_used); + ctx.m_userProperties.put("$computer-localhost", hostname); + } + + if (localhost_used) { + ctx.reportError("Mixing of localhost with other hostname(%s) is illegal", + hostname); + DBUG_RETURN(false); + } + + DBUG_RETURN(true); +} + bool fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){ const char * hostname; if (ctx.m_currentSection->get("HostName", &hostname)) - return true; + return checkLocalhostHostnameMix(ctx); const char * compId; if(!ctx.m_currentSection->get("ExecuteOnComputer", &compId)){ @@ -2383,7 +2413,7 @@ fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){ require(ctx.m_currentSection->put("HostName", "localhost")); else require(ctx.m_currentSection->put("HostName", "")); - return true; + return checkLocalhostHostnameMix(ctx); } const Properties * computer; @@ -2404,7 +2434,7 @@ fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){ } require(ctx.m_currentSection->put("HostName", hostname)); - return true; + return checkLocalhostHostnameMix(ctx); } bool @@ -2516,17 +2546,7 @@ transformComputer(InitConfigFileParser::Context & ctx, const char * data){ return true; } - if(!strcmp(hostname, "localhost") || !strcmp(hostname, "127.0.0.1")){ - if(ctx.m_userProperties.get("$computer-localhost", &hostname)){ - ctx.reportError("Mixing of localhost with other hostname(%s) is illegal", - hostname); - return false; - } - } else { - ctx.m_userProperties.put("$computer-localhost", hostname); - } - - return true; + return checkLocalhostHostnameMix(ctx); } /** diff --git a/ndb/src/mgmsrv/main.cpp b/ndb/src/mgmsrv/main.cpp index 465d858cfab..f6a0a4e0dc3 100644 --- a/ndb/src/mgmsrv/main.cpp +++ b/ndb/src/mgmsrv/main.cpp @@ -15,6 +15,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <ndb_global.h> +#include <my_pthread.h> #include "MgmtSrvr.hpp" #include "EventLogger.hpp" @@ -97,12 +98,19 @@ extern EventLogger g_EventLogger; extern int global_mgmt_server_check; int _print_version = 0; +#ifndef DBUG_OFF +const char *debug_option= 0; +#endif struct getargs args[] = { { "version", 'v', arg_flag, &_print_version, "Print ndb_mgmd version"}, { "config-file", 'c', arg_string, &glob.config_filename, "Specify cluster configuration file", "filename" }, +#ifndef DBUG_OFF + { "debug", 0, arg_string, &debug_option, + "Specify debug option", "options" }, +#endif { "daemon", 'd', arg_flag, &glob.daemon, "Run ndb_mgmd in daemon mode" }, { NULL, 'l', arg_string, &glob.local_config_filename, @@ -135,6 +143,12 @@ NDB_MAIN(mgmsrv){ exit(1); } + my_thread_global_init(); +#ifndef DBUG_OFF + if (debug_option) + DBUG_PUSH(debug_option); +#endif + if (_print_version) { ndbPrintVersion(); exit(0); |