1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

tevent: Add a private function tevent_poll_event_add_fd_internal().

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>
This commit is contained in:
Jeremy Allison 2013-02-11 11:20:28 -08:00
parent 5fe459f5d7
commit 203f85c25e
2 changed files with 19 additions and 0 deletions

View File

@ -316,6 +316,8 @@ void tevent_cleanup_pending_signal_handlers(struct tevent_signal *se);
bool tevent_standard_init(void);
bool tevent_select_init(void);
bool tevent_poll_init(void);
void tevent_poll_event_add_fd_internal(struct tevent_context *ev,
struct tevent_fd *fde);
bool tevent_poll_mt_init(void);
#ifdef HAVE_EPOLL
bool tevent_epoll_init(void);
@ -324,5 +326,6 @@ bool tevent_epoll_set_panic_fallback(struct tevent_context *ev,
bool replay));
#endif
void tevent_trace_point_callback(struct tevent_context *ev,
enum tevent_trace_point);

View File

@ -255,6 +255,22 @@ static void poll_event_schedule_immediate(struct tevent_immediate *im,
poll_event_wake_pollthread(poll_ev);
}
/*
Private function called by "standard" backend fallback.
Note this only allows fallback to "poll" backend, not "poll-mt".
*/
_PRIVATE_ void tevent_poll_event_add_fd_internal(struct tevent_context *ev,
struct tevent_fd *fde)
{
struct poll_event_context *poll_ev = talloc_get_type_abort(
ev->additional_data, struct poll_event_context);
fde->additional_flags = UINT64_MAX;
fde->additional_data = NULL;
DLIST_ADD(poll_ev->fresh, fde);
talloc_set_destructor(fde, poll_fresh_fde_destructor);
}
/*
add a fd based event
return NULL on failure (memory allocation error)