summaryrefslogtreecommitdiff
path: root/lib/tevent/tevent.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-19tevent: fix the nesting logicStefan Metzmacher1-7/+7
Only tevent_loop_once and tevent_loop_until() should care about the nesting level. This fixes the samba3 printing code where we use tevent_loop_wait() and don't allow nested events. We still call the nesting hook for all levels, we need to decide if we really want this... metze
2009-03-19fixed a logic bug in the tevent nesting codeAndrew Tridgell1-1/+13
The event nesting code never triggered as nesting.level was never greater than 1. The main event loop needs to increase the nesting level by 1. I also added a paranoia check to the nesting setup call. The API as currently written cannot support multiple nesting hooks, so we need to abort if multiple hooks are tried.
2009-03-17tevent: add support for immediate eventsStefan Metzmacher1-0/+49
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-0/+28
tevent_loop_wait should do the same for all backends. It should loop as long as we have pending events. metze
2009-03-12tevent: Fix might be unitialized warningTim Prouty1-1/+1
2009-03-12tevent: add tevent_loop_until()Stefan Metzmacher1-0/+62
This is only a hack for samba4 and should not be used in new code. metze
2009-03-12tevent: add tevent_loop_set_nesting_hook()Stefan Metzmacher1-1/+39
This is an ugly hack to let the s4 server work arround some bugs related to nested events and uid changing. metze
2009-03-12tevent: don't allow nested tevent_loop_once() anymoreStefan Metzmacher1-1/+36
Incompatible caller should use tevent_loop_allow_nesting() function. metze
2009-03-12tevent: pass __location__ to tevent_loop_once/wait()Stefan Metzmacher1-4/+4
metze
2009-03-12tevent: add tevent_set_abort_fn()Stefan Metzmacher1-0/+19
metze
2009-03-12tevent: add tevent_signal_support()Stefan Metzmacher1-0/+8
Not every tevent backend supports signal events. metze
2009-02-16lib/tevent: change to LGPLv3+Stefan Metzmacher1-12/+17
metze
2009-02-13lib/tevent: remove broken tevent_aio supportStefan Metzmacher1-19/+0
It makes no sense to support aio events because, the current implementation was based on IOCB_CMD_EPOLL_WAIT which never made it into the main kernel tree. The native linux aio can be used with select/epoll using eventfd(), which means we can implement aio with fd events and implement aio outside of tevent. metze
2009-01-12tevent: use for() loops instead of while() loopsStefan Metzmacher1-12/+9
metze
2009-01-11tevent: Fix build breakTim Prouty1-1/+1
2009-01-11Fix tevent_common_context_destructor to remove all events instead of just ↵Bo Yang1-4/+10
the first one Signed-off-by: Bo Yang <boyang@novell.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-01-07tevent: don't try to dereference fde->event_ctx when the event context ↵Stefan Metzmacher1-0/+3
doesn't exists anymore metze
2009-01-05tevent: add tevent_context destructor that unlinks the events from the contextStefan Metzmacher1-0/+31
metze
2009-01-03tevent: add tevent_fd_set_auto_close()Stefan Metzmacher1-0/+14
tevent_fd_set_auto_close() is a simple wrapper arround tevent_fd_set_close_fn() with a callback that uses plain close(2). metze
2009-01-03tevent: add tevent_fd_set_close_fn()Stefan Metzmacher1-0/+10
Let callers specify a close function as an alternative to TEVENT_FD_AUTOCLOSE. metze
2009-01-02tevent: pass down handler_name and location to the backend layerStefan Metzmacher1-4/+8
metze
2009-01-02tevent: make tevent_add_*() macros arround _tevent_add_*()Stefan Metzmacher1-20/+33
This passes some additional debug information into the events system to make it easier to find bugs. 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-5/+5
And fix the callers and there init functions. metze
2009-01-02tevent: rename event_context_init* => tevent_context_init*()Stefan Metzmacher1-25/+26
metze
2009-01-02tevent: rename event_[s|g]et_fd_flags => tevent_fd_[s|g]et_flagsStefan Metzmacher1-2/+2
metze
2009-01-02tevent: rename event_loop_* => tevent_loop_*Stefan Metzmacher1-4/+4
metze
2009-01-02tevent: rename event_set_default_backend() => tevent_set_default_backend()Stefan Metzmacher1-5/+6
metze
2009-01-02s4:tevent: move event_context_find() to tevent_s4.cStefan Metzmacher1-18/+0
metze
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-16/+16
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/+310
This commit will not compile on its own. metze