diff options
author | Stefan Metzmacher <metze@samba.org> | 2011-08-08 18:49:06 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2011-08-09 10:11:54 +0200 |
commit | 020032e114c0e966acf24f24e707942219d60cf3 (patch) | |
tree | 273f4d91e30689e705987bf936e3bbb69a1ac591 | |
parent | abd2e25ee0252cd83914b79a5490f014ec0dcaf0 (diff) | |
download | samba-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.c | 4 |
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], |