[master] 8c67935 Simplify the "server ${id} -listen" code path to avoid VSS_parse()
Poul-Henning Kamp
phk at FreeBSD.org
Wed Mar 11 23:05:52 CET 2015
commit 8c67935734301b7d842fdbee4e00c759c35cc70a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Mar 11 20:10:40 2015 +0000
Simplify the "server ${id} -listen" code path to avoid VSS_parse()
diff --git a/bin/varnishtest/vtc_server.c b/bin/varnishtest/vtc_server.c
index 044b617..d34bfdb 100644
--- a/bin/varnishtest/vtc_server.c
+++ b/bin/varnishtest/vtc_server.c
@@ -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;
}
More information about the varnish-commit
mailing list