summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/tevent/tevent_poll.c1
-rw-r--r--lib/tevent/tevent_select.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/tevent/tevent_poll.c b/lib/tevent/tevent_poll.c
index aa4c50c0c5..0175cae531 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 d8aeaa7c55..5e26569276 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;
}