[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