Commit 8c679357 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Simplify the "server ${id} -listen" code path to avoid VSS_parse()

parent aacdd6de
......@@ -56,8 +56,6 @@ struct server {
int sock;
char listen[256];
struct vss_addr **vss_addr;
char *addr;
char *port;
char aaddr[32];
char aport[32];
......@@ -125,10 +123,7 @@ server_new(const char *name)
if (*s->name != 's')
vtc_log(s->vl, 0, "Server name must start with 's'");
s->addr = strdup("127.0.0.1");
AN(s->addr);
s->port = strdup("0");
AN(s->port);
bprintf(s->listen, "%s", "127.0.0.1 0");
s->repeat = 1;
s->depth = 10;
s->sock = -1;
......@@ -166,7 +161,7 @@ server_start(struct server *s)
CHECK_OBJ_NOTNULL(s, SERVER_MAGIC);
vtc_log(s->vl, 2, "Starting server");
if (s->sock < 0) {
naddr = VSS_resolve(s->addr, s->port, &s->vss_addr);
naddr = VSS_resolve(s->listen, "0", &s->vss_addr);
if (naddr != 1)
vtc_log(s->vl, 0,
"Server s listen address not unique"
......@@ -179,11 +174,11 @@ server_start(struct server *s)
macro_def(s->vl, s->name, "addr", "%s", s->aaddr);
macro_def(s->vl, s->name, "port", "%s", s->aport);
macro_def(s->vl, s->name, "sock", "%s %s", s->aaddr, s->aport);
/* Record the actual port, and reuse it on subsequent starts */
if (!strcmp(s->port, "0"))
REPLACE(s->port, s->aport);
bprintf(s->listen, "%s %s", s->aaddr, s->aport);
}
vtc_log(s->vl, 1, "Listen on %s %s", s->addr, s->port);
vtc_log(s->vl, 1, "Listen on %s", s->listen);
s->run = 1;
AZ(pthread_create(&s->tp, NULL, server_thread, s));
}
......@@ -313,7 +308,6 @@ cmd_server(CMD_ARGS)
if (s->sock >= 0)
VTCP_close(&s->sock);
bprintf(s->listen, "%s", av[1]);
AZ(VSS_parse(s->listen, &s->addr, &s->port));
av++;
continue;
}
......
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