[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