1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/lib/tevent
Stefan Metzmacher d5b341d873 tevent: don't skip a fd event if the previous one was deleted during poll()
In a threaded environment it can happen that an tevent_fd is talloc_free'ed
while the main thread sleeps in the poll() syscall.

In such a case poll_event_fd_destructor() would set poll_ev->fdes[i] = NULL.

We then skip the removed event, but before we also skipped the one
that was located at the end of the array. We moved it to possition
'i', but the next loop uses 'i=i+1'.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01 11:59:24 -08:00
..
ABI tevent: change version to 0.9.17 after adding the "poll_mt" backend 2012-08-16 21:10:32 +02:00
doc tevent: Fix a typo 2010-12-25 22:56:18 +01:00
bindings.py pytevent: Add more tests. 2010-09-25 12:20:57 -07:00
configure ldb/tevent: Fix detection of waf paths. 2010-09-28 09:12:41 +02:00
doxy.config doc: Remove build/ from doxygen config or it will not work in brew. 2012-08-04 16:31:22 +02:00
libtevent.m4 tevent: define TEVENT_NUM_SIGNALS based on configure checks 2013-03-01 11:58:49 -08:00
Makefile waf: ensure "make dist" works from a clean git tree for all libraries 2011-01-08 02:35:22 +01:00
pytevent.c tevent: Fix python documentation strings 2012-01-31 16:59:29 +01:00
release-script.sh Add release script for tevent 2009-09-04 18:20:29 -04:00
testsuite.c tevent: add trace points BEFORE_LOOP_ONCE and AFTER_LOOP_ONCE 2013-03-01 11:59:17 -08:00
tevent_debug.c lib/tevent: Add trace point callback 2012-06-08 19:00:05 +02:00
tevent_epoll.c tevent: remember the errno from select(), poll() and epoll_wait() 2013-03-01 11:59:20 -08:00
tevent_fd.c Return NULL if tevent_add_fd() is passed a negative fd 2011-02-14 17:47:03 +01:00
tevent_immediate.c tevent: add support for immediate events 2009-03-17 19:59:00 +01:00
tevent_internal.h tevent: Add a private function tevent_poll_event_add_fd_internal(). 2013-02-14 10:19:38 -08:00
tevent_liboop.c tevent: Fix a comment 2013-01-18 00:05:37 +01:00
tevent_poll.c tevent: don't skip a fd event if the previous one was deleted during poll() 2013-03-01 11:59:24 -08:00
tevent_queue.c tevent: add tevent_queue_add_entry() and tevent_queue_add_optimize_empty() 2011-08-09 21:37:41 +02:00
tevent_req.c tevent: add tevent_req_defer_callback() 2011-07-09 11:02:42 +02:00
tevent_select.c tevent: remember the errno from select(), poll() and epoll_wait() 2013-03-01 11:59:20 -08:00
tevent_signal.c tevent: define TEVENT_NUM_SIGNALS based on configure checks 2013-03-01 11:58:49 -08:00
tevent_standard.c tevent: Remove the previous "standard" tevent backend implementation. 2013-02-14 22:40:30 +01:00
tevent_timed.c tevent: Fix typos 2011-02-09 18:13:18 +01:00
tevent_util.c tevent: Set FD_CLOEXEC on epoll handle 2011-08-11 14:38:53 -04:00
tevent_util.h tevent: Set FD_CLOEXEC on epoll handle 2011-08-11 14:38:53 -04:00
tevent_wakeup.c tevent: add tevent_wakeup_send/recv() 2009-02-18 10:31:36 +01:00
tevent.c tevent: add trace points BEFORE_LOOP_ONCE and AFTER_LOOP_ONCE 2013-03-01 11:59:17 -08:00
tevent.h tevent: add trace points BEFORE_LOOP_ONCE and AFTER_LOOP_ONCE 2013-03-01 11:59:17 -08:00
tevent.pc.in s4-pkgconfig: add @LIB_RPATH@ to our link flags 2010-12-08 12:46:00 +01:00
tevent.py Add version attribute for pytevent. 2011-12-07 15:07:48 +01:00
wscript tevent: fix --disable-python cause configure fails (bug #8718) 2013-03-01 11:58:53 -08:00