s3:lib/events: use DLIST_DEMOTE() for fd events
authorStefan Metzmacher <metze@samba.org>
Mon, 24 Jan 2011 07:47:12 +0000 (08:47 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 31 Jan 2011 15:59:44 +0000 (16:59 +0100)
This makes sure that fd events doesn't dry out,
because a fd with a lower number is busy.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Jan 31 16:59:44 CET 2011 on sn-devel-104

source3/lib/events.c

index 2ac4cc00ed48118fe6abac2b5b781d1a250f39cb..07a270c1e7481a83733553986400b5a919e43149 100644 (file)
@@ -127,6 +127,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;
                }