Skip to content

Commit

Permalink
mxqd: Add --hostname option to fake running on a different host
Browse files Browse the repository at this point in the history
This should only be used to recover from a crash or for testing.
  • Loading branch information
mariux committed Jul 29, 2015
1 parent 6d7649a commit a7b0180
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions mxqd.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ static void print_usage(void)
" -x | --max-memory-per-slot <mem> default: <memory>/<slots>\n"
"\n"
" -N | --server-id <id> default: main\n"
" --hostname <hostname> default: $(hostname)\n"
"\n"
" --pid-file <pidfile> default: create no pid file\n"
" --daemonize default: run in foreground\n"
Expand Down Expand Up @@ -197,7 +198,8 @@ int write_pid_to_file(char *fname)
int server_init(struct mxq_server *server, int argc, char *argv[])
{
int res;
char *arg_server_id = "main";
char *arg_server_id;
char *arg_hostname;
char *arg_mysql_default_group;
char *arg_mysql_default_file;
char *arg_pidfile = NULL;
Expand All @@ -221,12 +223,14 @@ int server_init(struct mxq_server *server, int argc, char *argv[])
MX_OPTION_REQUIRED_ARG("memory", 'm'),
MX_OPTION_REQUIRED_ARG("max-memory-per-slot", 'x'),
MX_OPTION_REQUIRED_ARG("server-id", 'N'),
MX_OPTION_REQUIRED_ARG("hostname", 6),
MX_OPTION_OPTIONAL_ARG("mysql-default-file", 'M'),
MX_OPTION_OPTIONAL_ARG("mysql-default-group", 'S'),
MX_OPTION_END
};

arg_server_id = "main";
arg_hostname = mx_hostname();

arg_mysql_default_group = getenv("MXQ_MYSQL_DEFAULT_GROUP");
if (!arg_mysql_default_group)
Expand Down Expand Up @@ -263,6 +267,10 @@ int server_init(struct mxq_server *server, int argc, char *argv[])
mx_log_level_set(MX_LOG_DEBUG);
break;

case 6:
arg_hostname = optctl.optarg;
break;

case 'V':
print_version();
exit(EX_USAGE);
Expand Down Expand Up @@ -331,7 +339,7 @@ int server_init(struct mxq_server *server, int argc, char *argv[])
mx_mysql_option_set_default_group(server->mysql, arg_mysql_default_group);
mx_mysql_option_set_reconnect(server->mysql, 1);

server->hostname = mx_hostname();
server->hostname = arg_hostname;
server->server_id = arg_server_id;

server->flock = mx_flock(LOCK_EX, "/dev/shm/mxqd.%s.%s.lck", server->hostname, server->server_id);
Expand Down

0 comments on commit a7b0180

Please sign in to comment.