Andreas Schneider
78fbedf369
tevent: Document missing callback typedefs.
2010-05-05 09:28:04 +02:00
Andreas Schneider
a8e575ac22
tevent: Document the missing tevent async request callback functions.
2010-05-05 09:28:04 +02:00
Andreas Schneider
d8a6b23b07
tevent: Create a typedef for the debug function callback.
2010-05-05 09:28:04 +02:00
Stephen Gallagher
e286966bba
tevent: Added more documentation.
2010-05-05 09:28:04 +02:00
Stephen Gallagher
098221e886
tevent: Remove erroneous comments about TEVENT_FD_AUTOCLOSE
...
There is no such flag.
2010-05-05 09:28:04 +02:00
Andreas Schneider
4263983cad
tevent: Added basic doxygen documentation.
2010-05-05 09:28:04 +02:00
Andrew Tridgell
5609c50433
tevent: added tevent_re_initialise()
...
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.
2010-03-26 21:13:27 +11:00
Brad Hards
119a8230eb
Spelling fixes for tevent.
...
Signed-off-by: Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
2010-02-22 21:45:32 +01:00
Stefan Metzmacher
45e4be0d96
tevent: add tevent_req_cancel() infrastructure
...
This offers a generic way for callers to cancel an
async request.
metze
2009-08-17 09:25:44 +02:00
Simo Sorce
30b2014a01
Expose functions need by backend writers
...
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-07-03 08:45:30 -04:00
Volker Lendecke
c6f39b46a7
Add tevent_req_notify_callback
...
This is necessary for requests that have multiple results. Examples would be
SMBEcho and ldap_search.
2009-06-04 17:29:48 +02:00
Stefan Metzmacher
9eaf53d98e
tevent: store the location where a request was finished
...
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-17 20:17:01 +01:00
Stefan Metzmacher
3a831e4620
tevent: use an immediate event as trigger for tevent_queue
...
metze
2009-03-17 19:59:09 +01:00
Stefan Metzmacher
66886f8966
tevent: add support for immediate events
...
They're like directly triggered timed events,
but you can preallocated them and scheduling them
will not fail.
metze
2009-03-17 19:59:00 +01:00
Stefan Metzmacher
cb388882cf
tevent: add tevent_loop_until()
...
This is only a hack for samba4 and should not be used
in new code.
metze
2009-03-12 14:21:26 +01:00
Stefan Metzmacher
7142ef49bd
tevent: add tevent_loop_set_nesting_hook()
...
This is an ugly hack to let the s4 server work arround
some bugs related to nested events and uid changing.
metze
2009-03-12 14:21:26 +01:00
Stefan Metzmacher
06f88fe7a2
tevent: don't allow nested tevent_loop_once() anymore
...
Incompatible caller should use tevent_loop_allow_nesting()
function.
metze
2009-03-12 12:14:18 +01:00
Stefan Metzmacher
9932fd2d9a
tevent: pass __location__ to tevent_loop_once/wait()
...
metze
2009-03-12 12:12:34 +01:00
Stefan Metzmacher
880d9d6d8c
tevent: add tevent_set_abort_fn()
...
metze
2009-03-12 12:04:33 +01:00
Stefan Metzmacher
43a7d48d24
tevent: add tevent_signal_support()
...
Not every tevent backend supports signal events.
metze
2009-03-12 12:04:31 +01:00
Stefan Metzmacher
825949b810
tevent: add tevent_req_callback_data_void() macro
...
Callers can use it instead of tevent_req_callback_data()
if they use a non talloc private pointer.
metze
2009-03-10 16:44:44 +01:00
Stefan Metzmacher
09d1b2324c
tevent: add tevent_req_received() function
...
This function can be called as last action of a _recv()
function, it destroys the data attached to the tevent_req.
metze
2009-03-10 16:44:44 +01:00
Simo Sorce
67d41d0fc7
Make struct tevent_req opaque
...
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-03-02 11:02:09 -05:00
Stefan Metzmacher
3a1f24f286
tevent: add tevent_queue infrastructure
...
metze
2009-02-26 14:22:12 +01:00
Stefan Metzmacher
e2f37ec106
tevent: add private_print function feature to tevent_req
...
metze
2009-02-25 14:30:55 +01:00
Stefan Metzmacher
13ac0dc456
tevent: add tevent_req_poll() function
...
metze
2009-02-25 14:08:36 +01:00
Volker Lendecke
9e3178e838
Attempt to fix the OpenChange build -- sorry for the break
2009-02-25 11:02:48 +01:00
Volker Lendecke
70814474f5
tevent.h requires bool and uint[16|32|64]_t
2009-02-24 20:40:46 +01:00
Stefan Metzmacher
975a881d54
tevent: add tevent_wakeup_send/recv()
...
This can be used as tevent_req based timer event.
metze
2009-02-18 10:31:36 +01:00
Stefan Metzmacher
7f6618a3de
tevent: rename tevent_req_set_timeout() => tevent_req_set_endtime()
...
This makes more clear what the function does.
metze
2009-02-18 10:31:35 +01:00
Kai Blin
48b874e376
tevent: Rename ev_timeval* functions to tevent_timeval, export them.
...
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-17 09:19:31 +01:00
Stefan Metzmacher
6211162d3e
lib/tevent: change to LGPLv3+
...
metze
2009-02-16 08:53:25 +01:00
Volker Lendecke
f0440d0d56
Add missing prototype for "tevent_req_print"
2009-02-14 22:00:44 +01:00
Stefan Metzmacher
113651c517
lib/tevent: add tevent_req infrastructure
...
This is almost a copy of the async_req code,
which will be removed later.
metze
2009-02-13 18:37:01 +01:00
Stefan Metzmacher
1d949fe742
lib/tevent: remove broken tevent_aio support
...
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-02-13 16:02:13 +01:00
Volker Lendecke
6572eff183
Attempt to fix the build on netbsd5
2009-01-05 22:10:25 +01:00
Stefan Metzmacher
beb8b8fc2d
tevent: fix tevent_add_timer() and tevent_add_aio() macros
...
metze
2009-01-05 10:53:39 +01:00
Stefan Metzmacher
67810019a0
tevent: remove TEVENT_FD_AUTOCLOSE feature
...
TEVENT_FD_AUTOCLOSE adds a dependency to SOCKET_WRAPPER,
which is bad. Callers should use tevent_fd_set_close_fn() now.
metze
2009-01-03 19:58:54 +01:00
Stefan Metzmacher
193eba85a9
tevent: add tevent_fd_set_auto_close()
...
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-03 19:58:51 +01:00
Stefan Metzmacher
e45ed828d0
tevent: add tevent_fd_set_close_fn()
...
Let callers specify a close function
as an alternative to TEVENT_FD_AUTOCLOSE.
metze
2009-01-03 19:58:51 +01:00
Stefan Metzmacher
1a26b67ee3
tevent: specify argument names for the event handlers
...
metze
2009-01-03 19:58:49 +01:00
Stefan Metzmacher
73ef1773be
tevent: only provide compat macros if the caller wants them
...
metze
2009-01-02 18:16:54 +01:00
Stefan Metzmacher
4f04b06ac2
tevent: rename ev_debug_ops => tevent_debug_ops
...
And related changes, but we keep compat macros
metze
2009-01-02 18:16:53 +01:00
Stefan Metzmacher
49acf9799a
tevent: make tevent_add_*() macros arround _tevent_add_*()
...
This passes some additional debug information into
the events system to make it easier to find bugs.
metze
2009-01-02 18:16:52 +01:00
Stefan Metzmacher
183c379fe5
s4:lib/tevent: rename structs
...
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-29 20:46:40 +01:00
Stefan Metzmacher
7bf5768a52
lib/tevent: rename event_* => tevent_* in the header file
...
We have compat macros to keep the callers happy.
metze
2008-12-29 08:42:00 +01:00
Stefan Metzmacher
46eda79090
s4:lib/tevent: add lib/events/ compat and let things compile
...
metze
2008-12-17 13:31:29 +01:00
Stefan Metzmacher
504f8816e3
s4:lib/events: move to toplevel directory as lib/tevent/
...
This commit will not compile on its own.
metze
2008-12-17 13:31:28 +01:00