X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fio%2Fpoll.c;fp=ccan%2Fio%2Fpoll.c;h=17f9384587d92e39b37e199b0f05159bb899d112;hb=2b3517d40f2d8ac728785a21da19db6e1230d010;hp=a02152e3792ae07569d4a75b1ca423ecce5fb626;hpb=b089d462e533d2b304cc28b9ad277cbfa53f12ce;p=ccan diff --git a/ccan/io/poll.c b/ccan/io/poll.c index a02152e3..17f93845 100644 --- a/ccan/io/poll.c +++ b/ccan/io/poll.c @@ -91,6 +91,10 @@ static void del_fd(struct fd *fd) pollfds = tal_free(pollfds); fds = NULL; max_fds = 0; + if (num_always == 0) { + always = tal_free(always); + max_always = 0; + } } num_fds--; fd->backend_info = -1; @@ -140,7 +144,7 @@ static void remove_from_always(const struct io_plan *plan) /* Only free if no fds left either. */ if (num_always == 0 && max_fds == 0) { - tal_free(always); + always = tal_free(always); max_always = 0; } }