summaryrefslogtreecommitdiffstats
path: root/lib/tevent/tevent.c
Commit message (Collapse)AuthorAgeFilesLines
* tevent: don't force the nesting flag to false in the destructorAndrew Tridgell2011-08-121-3/+7
| | | | | | | | | | | the tevent destructor is called in tevent_re_initialise(), to reset the event context back to its original state for creating child processes. We need the nesting flag to stay the same Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Fri Aug 12 05:18:25 CEST 2011 on sn-devel-104
* tevent: cleanup nesting counter when doing a full reinit.Simo Sorce2011-08-101-0/+7
| | | | | | | We may be forking from within a loop, so we need to clean-up to avoid aborts when nesting is not allowed and we are in a new children. Signed-off-by: Andreas Schneider <asn@samba.org>
* tevent: Add a poll backendVolker Lendecke2011-02-281-0/+1
|
* tevent: Do not use talloc_autofree_contextVolker Lendecke2010-10-081-3/+2
|
* tevent: Remove erroneous comments about TEVENT_FD_AUTOCLOSEStephen Gallagher2010-05-051-3/+0
| | | | There is no such flag.
* tevent: added tevent_re_initialise()Andrew Tridgell2010-03-261-0/+15
| | | | | | | | | | This allows us to re-initialise a tevent context without destroying the pointer. That means that if someone keeps a long term ptr to the event context across a fork it will still work. This also brings the memory handling in single and standard process models much closer together, which means less bugs that we don't find with make test.
* s3: signals are processed twice in child.Bo Yang2010-02-091-0/+7
| | | | Signed-off-by: Bo Yang <boyang@samba.org>
* lib/tevent: close pipe_fds on event_context destructionRusty Russell2009-08-281-0/+2
| | | | | | | The "hack_fds" were never closed before; now they're inside event_context they should be closed when that is destroyed. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* tevent: fix the nesting logicStefan Metzmacher2009-03-191-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
* fixed a logic bug in the tevent nesting codeAndrew Tridgell2009-03-191-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.
* tevent: add support for immediate eventsStefan Metzmacher2009-03-171-0/+49
| | | | | | | | They're like directly triggered timed events, but you can preallocated them and scheduling them will not fail. metze
* tevent: add tevent_common_loop_wait() helper function and use itStefan Metzmacher2009-03-171-0/+28
| | | | | | | tevent_loop_wait should do the same for all backends. It should loop as long as we have pending events. metze
* tevent: Fix might be unitialized warningTim Prouty2009-03-121-1/+1
|
* tevent: add tevent_loop_until()Stefan Metzmacher2009-03-121-0/+62
| | | | | | | This is only a hack for samba4 and should not be used in new code. metze
* tevent: add tevent_loop_set_nesting_hook()Stefan Metzmacher2009-03-121-1/+39
| | | | | | | This is an ugly hack to let the s4 server work arround some bugs related to nested events and uid changing. metze
* tevent: don't allow nested tevent_loop_once() anymoreStefan Metzmacher2009-03-121-1/+36
| | | | | | | Incompatible caller should use tevent_loop_allow_nesting() function. metze
* tevent: pass __location__ to tevent_loop_once/wait()Stefan Metzmacher2009-03-121-4/+4
| | | | metze
* tevent: add tevent_set_abort_fn()Stefan Metzmacher2009-03-121-0/+19
| | | | metze
* tevent: add tevent_signal_support()Stefan Metzmacher2009-03-121-0/+8
| | | | | | Not every tevent backend supports signal events. metze
* lib/tevent: change to LGPLv3+Stefan Metzmacher2009-02-161-12/+17
| | | | metze
* lib/tevent: remove broken tevent_aio supportStefan Metzmacher2009-02-131-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
* tevent: use for() loops instead of while() loopsStefan Metzmacher2009-01-121-12/+9
| | | | metze
* tevent: Fix build breakTim Prouty2009-01-111-1/+1
|
* Fix tevent_common_context_destructor to remove all events instead of just ↵Bo Yang2009-01-111-4/+10
| | | | | | | the first one Signed-off-by: Bo Yang <boyang@novell.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
* tevent: don't try to dereference fde->event_ctx when the event context ↵Stefan Metzmacher2009-01-071-0/+3
| | | | | | doesn't exists anymore metze
* tevent: add tevent_context destructor that unlinks the events from the contextStefan Metzmacher2009-01-051-0/+31
| | | | metze
* tevent: add tevent_fd_set_auto_close()Stefan Metzmacher2009-01-031-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
* tevent: add tevent_fd_set_close_fn()Stefan Metzmacher2009-01-031-0/+10
| | | | | | | Let callers specify a close function as an alternative to TEVENT_FD_AUTOCLOSE. metze
* tevent: pass down handler_name and location to the backend layerStefan Metzmacher2009-01-021-4/+8
| | | | metze
* tevent: make tevent_add_*() macros arround _tevent_add_*()Stefan Metzmacher2009-01-021-20/+33
| | | | | | | This passes some additional debug information into the events system to make it easier to find bugs. metze
* tevent: use HAVE_EPOLL instead of HAVE_EVENTS_EPOLLStefan Metzmacher2009-01-021-2/+2
| | | | metze
* tevent: rename event_register_backend() => tevent_register_backend()Stefan Metzmacher2009-01-021-5/+5
| | | | | | And fix the callers and there init functions. metze
* tevent: rename event_context_init* => tevent_context_init*()Stefan Metzmacher2009-01-021-25/+26
| | | | metze
* tevent: rename event_[s|g]et_fd_flags => tevent_fd_[s|g]et_flagsStefan Metzmacher2009-01-021-2/+2
| | | | metze
* tevent: rename event_loop_* => tevent_loop_*Stefan Metzmacher2009-01-021-4/+4
| | | | metze
* tevent: rename event_set_default_backend() => tevent_set_default_backend()Stefan Metzmacher2009-01-021-5/+6
| | | | metze
* s4:tevent: move event_context_find() to tevent_s4.cStefan Metzmacher2009-01-021-18/+0
| | | | metze
* s4:lib/tevent: rename structsStefan Metzmacher2008-12-291-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
* lib/tevent: rename event_* => tevent_* in the header fileStefan Metzmacher2008-12-291-1/+1
| | | | | | We have compat macros to keep the callers happy. metze
* s4:lib/tevent: add lib/events/ compat and let things compileStefan Metzmacher2008-12-171-3/+3
| | | | metze
* s4:lib/events: move to toplevel directory as lib/tevent/Stefan Metzmacher2008-12-171-0/+310
This commit will not compile on its own. metze