summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-01-24 08:47:12 +0100
committerKarolin Seeger <kseeger@samba.org>2011-03-05 14:34:52 +0100
commit209d2a8706ea5ef159c7015ec151c4701cd0f0ca (patch)
treee488f8af0c4a3c4002cf4ad17a05d70be8adad72 /source3/lib
parent90ad8ab384196cc9351bdcbe8e9cdf8efc3b1fec (diff)
downloadsamba-209d2a8706ea5ef159c7015ec151c4701cd0f0ca.tar.gz
s3:lib/events: use DLIST_DEMOTE() for fd events
This makes sure that fd events doesn't dry out, because a fd with a lower number is busy. metze The last 3 patches address bug #7942 (inotify can somehow cause endless loops in with select()). Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Jan 31 16:59:44 CET 2011 on sn-devel-104 (cherry picked from commit ad10289ebcc78ab62ec86abb29f81eb769d17f4e) (cherry picked from commit 3d2f72844a221dbdfe94fbf6e2b45c98ee158a9b) (cherry picked from commit 44a2e73cf07110e463f2262c50a377bdf17253d6)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/events.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source3/lib/events.c b/source3/lib/events.c
index ad9dd89ff8f..01ea017d676 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -153,6 +153,7 @@ bool run_events(struct tevent_context *ev,
if (FD_ISSET(fde->fd, write_fds)) flags |= EVENT_FD_WRITE;
if (flags & fde->flags) {
+ DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd *);
fde->handler(ev, fde, flags, fde->private_data);
return true;
}