summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-08-08 18:49:06 +0200
committerStefan Metzmacher <metze@samba.org>2011-08-09 10:11:54 +0200
commit020032e114c0e966acf24f24e707942219d60cf3 (patch)
tree273f4d91e30689e705987bf936e3bbb69a1ac591
parentabd2e25ee0252cd83914b79a5490f014ec0dcaf0 (diff)
downloadsamba-020032e114c0e966acf24f24e707942219d60cf3.tar.gz
samba-020032e114c0e966acf24f24e707942219d60cf3.tar.bz2
samba-020032e114c0e966acf24f24e707942219d60cf3.zip
s3:lib/events: Fix a bug in run_poll_events().
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
-rw-r--r--source3/lib/events.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/lib/events.c b/source3/lib/events.c
index b0d3ce5362..77589f8e7e 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -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],