From 8764ec80bbcba93e862c069766c00944e5187ed5 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 21 Feb 2013 15:44:30 +0100 Subject: [PATCH] tevent: use DLIST_DEMOTE() before calling on fde handler after select() and poll() This makes sure we don't preferr events which are at the beginning of the list. Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- lib/tevent/tevent_poll.c | 1 + lib/tevent/tevent_select.c | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/tevent/tevent_poll.c b/lib/tevent/tevent_poll.c index aa4c50c0c5ec..0175cae531a4 100644 --- a/lib/tevent/tevent_poll.c +++ b/lib/tevent/tevent_poll.c @@ -601,6 +601,7 @@ static int poll_event_loop_poll(struct tevent_context *ev, */ flags &= fde->flags; if (flags != 0) { + DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd); fde->handler(ev, fde, flags, fde->private_data); return 0; } diff --git a/lib/tevent/tevent_select.c b/lib/tevent/tevent_select.c index d8aeaa7c55c3..5e265692763e 100644 --- a/lib/tevent/tevent_select.c +++ b/lib/tevent/tevent_select.c @@ -221,6 +221,7 @@ static int select_event_loop_select(struct select_event_context *select_ev, stru flags |= TEVENT_FD_WRITE; } if (flags) { + DLIST_DEMOTE(select_ev->ev->fd_events, fde, struct tevent_fd); fde->handler(select_ev->ev, fde, flags, fde->private_data); break; } -- 2.34.1