s3:lib/events: Fix a bug in run_poll_events().
authorStefan Metzmacher <metze@samba.org>
Mon, 8 Aug 2011 16:49:06 +0000 (18:49 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 9 Aug 2011 08:11:54 +0000 (10:11 +0200)
Ignore fd events without EVENT_FD_READ or EVENT_FD_WRITE also in
run_events_poll(). They are ignore when building the array
for the syscall in event_add_to_poll_args(), so we need to
ignore them run_events_poll() too.

metze

Signed-off-by: Andreas Schneider <asn@samba.org>
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Aug  9 10:11:54 CEST 2011 on sn-devel-104

source3/lib/events.c

index b0d3ce53626dede0caa6650574732d44ea8a880a..77589f8e7e2060d83d1ffca952e7c1c599ac9c65 100644 (file)
@@ -243,6 +243,10 @@ bool run_events_poll(struct tevent_context *ev, int pollrtn,
                struct pollfd *pfd;
                uint16 flags = 0;
 
+               if ((fde->flags & (EVENT_FD_READ|EVENT_FD_WRITE)) == 0) {
+                       continue;
+               }
+
                if (pollfd_idx[fde->fd] >= num_pfds) {
                        DEBUG(1, ("internal error: pollfd_idx[fde->fd] (%d) "
                                  ">= num_pfds (%d)\n", pollfd_idx[fde->fd],