From d37acd0fe71923987a68377bf01040eaed245d9f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 18 Oct 2004 00:04:46 +0000 Subject: r3028: use talloc_free() instead of talloc_unlink(), as the event_context_merge() code leaves the events as grandchildren of the events context, not children, so talloc_unlink() will not work after the merge (This used to be commit 2d0dfe607dcfb522669d6fb3d566cf121d84274a) --- source4/lib/events.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source4/lib') diff --git a/source4/lib/events.c b/source4/lib/events.c index 2cedfc083c..dac23ec6bc 100644 --- a/source4/lib/events.c +++ b/source4/lib/events.c @@ -297,7 +297,7 @@ int event_loop_once(struct event_context *ev) struct loop_event *next = le->next; if (le->ref_count == 0) { DLIST_REMOVE(ev->loop_events, le); - talloc_unlink(ev->events, le); + talloc_free(le); } else { le->ref_count++; le->handler(ev, le, t); @@ -318,7 +318,7 @@ int event_loop_once(struct event_context *ev) if (ev->maxfd == fe->fd) { ev->maxfd = EVENT_INVALID_MAXFD; } - talloc_unlink(ev->events, fe); + talloc_free(fe); } else { if (fe->flags & EVENT_FD_READ) { FD_SET(fe->fd, &r_fds); @@ -399,7 +399,7 @@ int event_loop_once(struct event_context *ev) struct timed_event *next = te->next; if (te->ref_count == 0) { DLIST_REMOVE(ev->timed_events, te); - talloc_unlink(ev->events, te); + talloc_free(te); } else if (te->next_event <= t) { te->ref_count++; te->handler(ev, te, t); -- cgit