summaryrefslogtreecommitdiff
path: root/lib/tevent/tevent_standard.c
AgeCommit message (Collapse)AuthorFilesLines
2013-03-01tevent: add std_event_loop_wait()Stefan Metzmacher1-0/+17
We also need to fallback in tevent_loop_wait() otherwise we might miss events in the poll->fresh list. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01tevent: don't call TALLOC_FREE(ev->additional_data) in std_fallback_to_poll()Stefan Metzmacher1-1/+0
The epoll backend has done the cleanup already. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-02-14tevent: Remove the previous "standard" tevent backend implementation.Jeremy Allison1-556/+1
This was a horrible hybrid of duplicated epoll and select() code. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Feb 14 22:40:30 CET 2013 on sn-devel-104
2013-02-14tevent: Add in the new implementation of "standard" tevent backend.Jeremy Allison1-6/+180
Falls back cleanly from epoll -> poll, or uses poll if epoll not available. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-02-14tevent: Add in the same tevent_re_initialise() fix Metze put in the ↵Jeremy Allison1-0/+6
tevent_poll backend. We might be called during tevent_re_initialise() which means we need to free our old additional_data. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2012-06-08lib/tevent: Add trace point callbackMartin Schwenke1-0/+2
Set/get a single callback function to be invoked at various trace points. Define "before wait" and "after wait" trace points - more trace points can be added later if required. CTDB wants this to log long waits and events. Pair-programmed-with: Amitay Isaacs <amitay@gmail.com> Signed-off-by: Martin Schwenke <martin@meltin.net> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-08-11tevent: Set FD_CLOEXEC on epoll handleSumit Bose1-0/+17
If an application using libtevent starts a new process the epoll file descriptor is leaked to the new process if the event context is not freed explicitly. By setting FD_CLOEXEC this is not needed anymore. Signed-off-by: Simo Sorce <idra@samba.org>
2011-02-28Finish the range checking on all FD_SET calls for select().Jeremy Allison1-0/+4
Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Feb 28 21:10:08 CET 2011 on sn-devel-104
2010-10-06tevent: Only call handlers that ask for eventsVolker Lendecke1-1/+1
The s3 libsmbclient puts two different handlers on a single fd for readability and writability. With select this works fine, however without this patch we unconditionally call the write handler even if the socket is only readable. We should have called the read handler instead. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Oct 6 23:40:24 UTC 2010 on sn-devel-104
2010-04-18tevent: mark backend init fns as _PRIVATE_Andrew Tridgell1-1/+1
these are not supposed to be exposed in the library
2009-03-17tevent: add support for immediate eventsStefan Metzmacher1-11/+17
They're like directly triggered timed events, but you can preallocated them and scheduling them will not fail. metze
2009-03-17tevent: add tevent_common_loop_wait() helper function and use itStefan Metzmacher1-19/+1
tevent_loop_wait should do the same for all backends. It should loop as long as we have pending events. metze
2009-03-17tevent: check signal events first in event_loop_onceStefan Metzmacher1-0/+5
We also check for signal events directly before and after the select/epoll calls. metze
2009-03-17tevent: let tevent_loop_once() just run one fd eventStefan Metzmacher1-19/+3
This makes the logic much simpler for the callers, and matches the samba3 behavior. If needed we can add performance tunning for tevent_loop_wait() later. metze
2009-03-12tevent: pass __location__ to tevent_loop_once/wait()Stefan Metzmacher1-3/+3
metze
2009-02-17tevent: Rename ev_timeval* functions to tevent_timeval, export them.Kai Blin1-1/+1
Also add tevent_timeval_add() and tevent_timeval_current_ofs() to help not depending on lub/util/time.c for things that just need tevent
2009-02-16lib/tevent: change to LGPLv3+Stefan Metzmacher1-13/+17
metze
2009-01-05tevent: keep a linked list of fd_eventsStefan Metzmacher1-34/+19
metze
2009-01-05tevent: keep a linked list of signal eventsStefan Metzmacher1-4/+4
metze
2009-01-04tevent: completely initialize tevent_fd structsStefan Metzmacher1-0/+3
This fixes crash bugs... I forgot to commit and squash this to commit e45ed828d042acca09cb1ed5b6dd7a24eb5e7ffd metze
2009-01-03tevent: remove TEVENT_FD_AUTOCLOSE featureStefan Metzmacher1-3/+0
TEVENT_FD_AUTOCLOSE adds a dependency to SOCKET_WRAPPER, which is bad. Callers should use tevent_fd_set_close_fn() now. metze
2009-01-03tevent: remove dependency to SOCKET_WRAPPER via "system/network.h"Stefan Metzmacher1-1/+0
metze
2009-01-03tevent: add tevent_fd_set_close_fn()Stefan Metzmacher1-1/+5
Let callers specify a close function as an alternative to TEVENT_FD_AUTOCLOSE. metze
2009-01-03tevent: move some common tevent_fd related functions into tevent_fd.cStefan Metzmacher1-10/+1
metze
2009-01-02tevent: use TEVENT_FD_* instead of EVENT_FD_*Stefan Metzmacher1-16/+16
metze
2009-01-02tevent: rename ev_debug_ops => tevent_debug_opsStefan Metzmacher1-7/+7
And related changes, but we keep compat macros metze
2009-01-02tevent: pass down handler_name and location to the backend layerStefan Metzmacher1-12/+14
metze
2009-01-02tevent: use HAVE_EPOLL instead of HAVE_EVENTS_EPOLLStefan Metzmacher1-2/+2
metze
2009-01-02tevent: rename event_register_backend() => tevent_register_backend()Stefan Metzmacher1-3/+3
And fix the callers and there init functions. metze
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-23/+23
list="" list="$list event_context:tevent_context" list="$list fd_event:tevent_fd" list="$list timed_event:tevent_timer" for s in $list; do o=`echo $s | cut -d ':' -f1` n=`echo $s | cut -d ':' -f2` r=`git grep "struct $o" |cut -d ':' -f1 |sort -u` files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4` for f in $files; do cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp mv $f.tmp $f done done metze
2008-12-29lib/tevent: rename event_* => tevent_* in the header fileStefan Metzmacher1-1/+1
We have compat macros to keep the callers happy. metze
2008-12-17s4:lib/tevent: add lib/events/ compat and let things compileStefan Metzmacher1-3/+3
metze
2008-12-17s4:lib/events: move to toplevel directory as lib/tevent/Stefan Metzmacher1-0/+607
This commit will not compile on its own. metze