libcli/cldap: pass tevent_context to cldap_set_incoming_handler()
authorStefan Metzmacher <metze@samba.org>
Mon, 10 Oct 2011 13:38:22 +0000 (15:38 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 10 Oct 2011 19:50:26 +0000 (21:50 +0200)
metze

libcli/cldap/cldap.c
libcli/cldap/cldap.h
source4/cldap_server/cldap_server.c

index a5a0e415988abdf6ac1b9eaf1853c44df4ef2088..7436bea4073bead1f1708ebdd5ca4b99f798f109 100644 (file)
@@ -86,6 +86,7 @@ struct cldap_socket {
 
        /* what to do with incoming request packets */
        struct {
+               struct tevent_context *ev;
                void (*handler)(struct cldap_socket *,
                                void *private_data,
                                struct cldap_incoming *);
@@ -381,6 +382,7 @@ nterror:
   setup a handler for incoming requests
 */
 NTSTATUS cldap_set_incoming_handler(struct cldap_socket *c,
+                                   struct tevent_context *ev,
                                    void (*handler)(struct cldap_socket *,
                                                    void *private_data,
                                                    struct cldap_incoming *),
@@ -394,7 +396,7 @@ NTSTATUS cldap_set_incoming_handler(struct cldap_socket *c,
        if (c->event.allow_poll) {
                return NT_STATUS_INVALID_PIPE_STATE;
        }
-
+       c->incoming.ev = ev;
        c->incoming.handler = handler;
        c->incoming.private_data = private_data;
 
index d1197481fb5fb74e7f493b31e876622d762a2d6c..0098da521a7b8e30306d7a0604bee6aad4162dc1 100644 (file)
@@ -58,6 +58,7 @@ NTSTATUS cldap_socket_init(TALLOC_CTX *mem_ctx,
                           struct cldap_socket **_cldap);
 
 NTSTATUS cldap_set_incoming_handler(struct cldap_socket *cldap,
+                                   struct tevent_context *ev,
                                    void (*handler)(struct cldap_socket *,
                                                    void *private_data,
                                                    struct cldap_incoming *),
index d3e8b7fffa450c83a653dc31ffefa8c25a832312..111493672d3e90d160292c65f5a98cc33ff309da 100644 (file)
@@ -138,7 +138,8 @@ static NTSTATUS cldapd_add_socket(struct cldapd_server *cldapd, struct loadparm_
        }
        talloc_free(socket_address);
 
-       cldap_set_incoming_handler(cldapsock, cldapd_request_handler, cldapd);
+       cldap_set_incoming_handler(cldapsock, cldapd->task->event_ctx,
+                                  cldapd_request_handler, cldapd);
 
        return NT_STATUS_OK;
 }