1
0
mirror of https://github.com/samba-team/samba.git synced 2025-10-24 15:33:20 +03:00

r5185: make all the events data structures private to events.c. This will

make it possible to add optimisations to the events code such as
keeping the next timed event in a sorted list, and using epoll for
file descriptor events.

I also removed the loop events code, as it wasn't being used anywhere,
and changed timed events to always be one-shot (as adding a new timed
event in the event handler is so easy to do if needed)
This commit is contained in:
Andrew Tridgell
2005-02-03 02:35:52 +00:00
committed by Gerald (Jerry) Carter
parent 0c96cc8bab
commit d7b4b6de51
33 changed files with 299 additions and 351 deletions

View File

@@ -83,9 +83,9 @@ static void run_child(struct composite_context *c, int fd)
handle a read event on the pipe
*/
static void pipe_handler(struct event_context *ev, struct fd_event *fde,
struct timeval t, uint16_t flags)
struct timeval t, uint16_t flags, void *private)
{
struct composite_context *c = talloc_get_type(fde->private, struct composite_context);
struct composite_context *c = talloc_get_type(private, struct composite_context);
struct host_state *state = talloc_get_type(c->private, struct host_state);
char address[128];
int ret;
@@ -136,7 +136,6 @@ struct composite_context *resolve_name_host_send(struct nbt_name *name,
struct host_state *state;
NTSTATUS status;
int fd[2] = { -1, -1 };
struct fd_event fde;
int ret;
c = talloc_zero(NULL, struct composite_context);
@@ -161,11 +160,8 @@ struct composite_context *resolve_name_host_send(struct nbt_name *name,
/* we need to put the child in our event context so
we know when the gethostbyname() has finished */
fde.fd = state->child_fd;
fde.flags = EVENT_FD_READ;
fde.handler = pipe_handler;
fde.private = c;
state->fde = event_add_fd(c->event_ctx, &fde, state);
state->fde = event_add_fd(c->event_ctx, state, state->child_fd, EVENT_FD_READ,
pipe_handler, c);
if (state->fde == NULL) {
close(fd[0]);
close(fd[1]);

View File

@@ -21,6 +21,7 @@
*/
#include "includes.h"
#include "events.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/composite/composite.h"