Commit 260574ac authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Make listen_sock a miniobj

parent dd0e30ee
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
#include <pthread.h> #include <pthread.h>
struct listen_sock { struct listen_sock {
unsigned magic;
#define LISTEN_SOCK_MAGIC 0x999e4b57
VTAILQ_ENTRY(listen_sock) list; VTAILQ_ENTRY(listen_sock) list;
int sock; int sock;
char *name; char *name;
......
...@@ -333,10 +333,11 @@ clean_listen_sock_head(struct listen_sock_head *lsh) ...@@ -333,10 +333,11 @@ clean_listen_sock_head(struct listen_sock_head *lsh)
struct listen_sock *ls, *ls2; struct listen_sock *ls, *ls2;
VTAILQ_FOREACH_SAFE(ls, lsh, list, ls2) { VTAILQ_FOREACH_SAFE(ls, lsh, list, ls2) {
CHECK_OBJ_NOTNULL(ls, LISTEN_SOCK_MAGIC);
VTAILQ_REMOVE(lsh, ls, list); VTAILQ_REMOVE(lsh, ls, list);
free(ls->name); free(ls->name);
free(ls->addr); free(ls->addr);
free(ls); FREE_OBJ(ls);
} }
} }
...@@ -386,7 +387,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par, ...@@ -386,7 +387,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par,
break; break;
} }
for (j = 0; j < n; ++j) { for (j = 0; j < n; ++j) {
ls = calloc(sizeof *ls, 1); ALLOC_OBJ(ls, LISTEN_SOCK_MAGIC);
AN(ls); AN(ls);
ls->sock = -1; ls->sock = -1;
ls->addr = ta[j]; ls->addr = ta[j];
...@@ -410,6 +411,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par, ...@@ -410,6 +411,7 @@ tweak_listen_address(struct cli *cli, const struct parspec *par,
while (!VTAILQ_EMPTY(&lsh)) { while (!VTAILQ_EMPTY(&lsh)) {
ls = VTAILQ_FIRST(&lsh); ls = VTAILQ_FIRST(&lsh);
VTAILQ_REMOVE(&lsh, ls, list); VTAILQ_REMOVE(&lsh, ls, list);
CHECK_OBJ_NOTNULL(ls, LISTEN_SOCK_MAGIC);
VTAILQ_INSERT_TAIL(&heritage.socks, ls, list); VTAILQ_INSERT_TAIL(&heritage.socks, ls, list);
heritage.nsocks++; heritage.nsocks++;
} }
......
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