[master] 260574a Make listen_sock a miniobj

Poul-Henning Kamp phk at varnish-cache.org
Sun Sep 18 12:49:47 CEST 2011


commit 260574ac96af6db89a5374144d84f168b8e76645
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Sun Sep 18 09:04:55 2011 +0000

    Make listen_sock a miniobj

diff --git a/bin/varnishd/heritage.h b/bin/varnishd/heritage.h
index 6571e31..13fce78 100644
--- a/bin/varnishd/heritage.h
+++ b/bin/varnishd/heritage.h
@@ -32,6 +32,8 @@
 #include <pthread.h>
 
 struct listen_sock {
+	unsigned			magic;
+#define LISTEN_SOCK_MAGIC		0x999e4b57
 	VTAILQ_ENTRY(listen_sock)	list;
 	int				sock;
 	char				*name;
diff --git a/bin/varnishd/mgt_param.c b/bin/varnishd/mgt_param.c
index ec38b11..96a83fc 100644
--- a/bin/varnishd/mgt_param.c
+++ b/bin/varnishd/mgt_param.c
@@ -333,10 +333,11 @@ clean_listen_sock_head(struct listen_sock_head *lsh)
 	struct listen_sock *ls, *ls2;
 
 	VTAILQ_FOREACH_SAFE(ls, lsh, list, ls2) {
+		CHECK_OBJ_NOTNULL(ls, LISTEN_SOCK_MAGIC);
 		VTAILQ_REMOVE(lsh, ls, list);
 		free(ls->name);
 		free(ls->addr);
-		free(ls);
+		FREE_OBJ(ls);
 	}
 }
 
@@ -386,7 +387,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par,
 			break;
 		}
 		for (j = 0; j < n; ++j) {
-			ls = calloc(sizeof *ls, 1);
+			ALLOC_OBJ(ls, LISTEN_SOCK_MAGIC);
 			AN(ls);
 			ls->sock = -1;
 			ls->addr = ta[j];
@@ -410,6 +411,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par,
 	while (!VTAILQ_EMPTY(&lsh)) {
 		ls = VTAILQ_FIRST(&lsh);
 		VTAILQ_REMOVE(&lsh, ls, list);
+		CHECK_OBJ_NOTNULL(ls, LISTEN_SOCK_MAGIC);
 		VTAILQ_INSERT_TAIL(&heritage.socks, ls, list);
 		heritage.nsocks++;
 	}



More information about the varnish-commit mailing list