summaryrefslogtreecommitdiff
path: root/lib/tevent/tevent_internal.h
AgeCommit message (Collapse)AuthorFilesLines
2013-03-01tevent: optimize adding new zero timer eventsStefan Metzmacher1-0/+14
Such events were used before we had immediate events. It's likely that there're a lot of this events and we need to add new ones in fifo order. The tricky part is that tevent_common_add_timer() should not use the optimization as it's used by broken Samba versions, which don't use tevent_common_loop_timer_delay() in source3/lib/events.c. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-02-14tevent: Add a private function tevent_poll_event_add_fd_internal().Jeremy Allison1-0/+3
Not yet used, but will be called by the "standard" fallback from epoll -> poll backends. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-02-14tevent: Add a utility function tevent_find_ops_byname().Jeremy Allison1-0/+1
Returns an event ops struct given a string name. Not yet used, but will be part of the new "standard" fallback code. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-02-14tevent: Add an internal function tevent_epoll_set_panic_fallback().Jeremy Allison1-0/+3
Can be set externally, allows us to fallback if epoll fails at runtime. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2012-08-16lib/tevent: Add a thread-safe tevent backendVolker Lendecke1-0/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-06-08lib/tevent: Add trace point callbackMartin Schwenke1-0/+8
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-07-09tevent: add tevent_req_defer_callback()Stefan Metzmacher1-0/+6
metze
2011-03-10tevent: change tevent_fd->additional_flags to uint64_tStefan Metzmacher1-1/+1
metze
2011-02-28tevent: Add a poll backendVolker Lendecke1-0/+1
2010-02-09s3: signals are processed twice in child.Bo Yang1-0/+1
Signed-off-by: Bo Yang <boyang@samba.org>
2009-11-26tevent: Fix a commentVolker Lendecke1-1/+1
2009-08-28lib/tevent: handle tevent_common_add_signal on different event contexts.Rusty Russell1-0/+1
I don't know if this is a problem in real life. The code assumes there's only one tevent_context; all signals will notify the first event context. That's counter-intuitive if you ever use more than one, and there's nothing else in this code which prevents it AFAICT. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-08-17tevent: add tevent_req_cancel() infrastructureStefan Metzmacher1-0/+19
This offers a generic way for callers to cancel an async request. metze
2009-07-03Expose functions need by backend writersSimo Sorce1-50/+0
move publicly needed structures and functions in the public header. Stop installing internal headers. Update the signature and exports files with the new exposed function.
2009-05-16tevent: Install tevent_internal.h in the standalone build.Jelmer Vernooij1-1/+3
This is not ideal, but at least it fixes the build of samba-gtk for now. I've also added a warning about API guarantees at the top of the header.
2009-03-17tevent: store the location where a request was finishedStefan Metzmacher1-1/+11
This is very useful to find bugs. You can use 'p *req' in gdb to show where tevent_req_done(), tevent_req_error() or tevent_req_nomem() was called. metze
2009-03-17tevent: use an immediate event fot tevent_req_post()Stefan Metzmacher1-2/+2
Now tevent_req_post() never fails metze
2009-03-17tevent: add support for immediate eventsStefan Metzmacher1-0/+35
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/+2
tevent_loop_wait should do the same for all backends. It should loop as long as we have pending events. metze
2009-03-12tevent: add tevent_loop_set_nesting_hook()Stefan Metzmacher1-0/+2
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-0/+6
Incompatible caller should use tevent_loop_allow_nesting() function. metze
2009-03-12tevent: pass __location__ to tevent_loop_once/wait()Stefan Metzmacher1-2/+2
metze
2009-03-10tevent: add tevent_req_received() functionStefan Metzmacher1-1/+1
This function can be called as last action of a _recv() function, it destroys the data attached to the tevent_req. metze
2009-03-02Make struct tevent_req opaqueSimo Sorce1-0/+93
Move struct tevent_req in tevent_internal, and ad getters and setters for private data and the callback function. This patch also renames 'private_state' into 'data'. What is held in this pointer is in fact data and not a state like enum tevent_req_state. Calling it 'state' is confusing. The functions addedd are: tevent_req_set_callback() - sets req->async.fn and req->async.private_data tevent_req_set_print_fn() - sets req->private_print tevent_req_callback_data() - gets req->async.private_data tevent_req_data() - gets rea->data This way it is much simpler to keep API/ABI compatibility in the future.
2009-02-17tevent: Rename ev_timeval* functions to tevent_timeval, export them.Kai Blin1-2/+0
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-02-13lib/tevent: add tevent_req infrastructureStefan Metzmacher1-1/+1
This is almost a copy of the async_req code, which will be removed later. metze
2009-02-13lib/tevent: expose ev_timeval_zero() for internal usageStefan Metzmacher1-0/+1
metze
2009-02-13lib/tevent: remove broken tevent_aio supportStefan Metzmacher1-14/+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-05tevent: add tevent_context destructor that unlinks the events from the contextStefan Metzmacher1-0/+2
metze
2009-01-05tevent: keep a linked list of fd_eventsStefan Metzmacher1-0/+12
metze
2009-01-05tevent: keep a linked list of signal eventsStefan Metzmacher1-3/+3
metze
2009-01-03tevent: add tevent_fd_set_close_fn()Stefan Metzmacher1-1/+6
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-0/+3
metze
2009-01-02tevent: rename ev_debug_ops => tevent_debug_opsStefan Metzmacher1-13/+5
And related changes, but we keep compat macros metze
2009-01-02tevent: pass down handler_name and location to the backend layerStefan Metzmacher1-21/+44
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
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher1-1/+1
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-57/+60
We have compat macros to keep the callers happy. metze
2008-12-23Fix more compiler warnings in various places.Jelmer Vernooij1-1/+1
2008-12-17s4:lib/events: move to toplevel directory as lib/tevent/Stefan Metzmacher1-0/+158
This commit will not compile on its own. metze