messaging3: Introduce messaging_local_backend()
authorVolker Lendecke <vl@samba.org>
Thu, 29 May 2014 13:01:03 +0000 (15:01 +0200)
committerJeremy Allison <jra@samba.org>
Fri, 30 May 2014 23:59:17 +0000 (01:59 +0200)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/include/messages.h
source3/lib/messages.c
source3/lib/messages_dgm.c

index 9a63cd64b1a2fda7a8de00a988bd737dcd9b72e0..bea3fd00370af54fe27f91b4d8c6b2f6e0c46dc5 100644 (file)
@@ -116,6 +116,8 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx,
                                         struct tevent_context *ev);
 
 struct server_id messaging_server_id(const struct messaging_context *msg_ctx);
+struct messaging_backend *messaging_local_backend(
+       struct messaging_context *msg_ctx);
 
 /*
  * re-init after a fork
index 9e77009d02513bc45aecb10d8874605eac880705..db7257dba54fd7ff8803046343ddaaa023725215 100644 (file)
@@ -862,4 +862,10 @@ static void mess_parent_dgm_cleanup_done(struct tevent_req *req)
        tevent_req_set_callback(req, mess_parent_dgm_cleanup_done, msg);
 }
 
+struct messaging_backend *messaging_local_backend(
+       struct messaging_context *msg_ctx)
+{
+       return msg_ctx->local;
+}
+
 /** @} **/
index 2f2647e37f8e87391c826982463f6655356791db..cf6e19075a8c46da82e429f45f9db34b9a6f51d6 100644 (file)
@@ -369,8 +369,9 @@ static void messaging_dgm_recv(struct unix_msg_ctx *ctx,
 
 NTSTATUS messaging_dgm_cleanup(struct messaging_context *msg_ctx, pid_t pid)
 {
+       struct messaging_backend *be = messaging_local_backend(msg_ctx);
        struct messaging_dgm_context *ctx = talloc_get_type_abort(
-               msg_ctx->local->private_data, struct messaging_dgm_context);
+               be->private_data, struct messaging_dgm_context);
        char *lockfile_name, *socket_name;
        int fd, ret;
        struct flock lck = {};
@@ -421,8 +422,9 @@ NTSTATUS messaging_dgm_cleanup(struct messaging_context *msg_ctx, pid_t pid)
 
 NTSTATUS messaging_dgm_wipe(struct messaging_context *msg_ctx)
 {
+       struct messaging_backend *be = messaging_local_backend(msg_ctx);
        struct messaging_dgm_context *ctx = talloc_get_type_abort(
-               msg_ctx->local->private_data, struct messaging_dgm_context);
+               be->private_data, struct messaging_dgm_context);
        char *msgdir_name;
        DIR *msgdir;
        struct dirent *dp;
@@ -477,7 +479,8 @@ void *messaging_dgm_register_tevent_context(TALLOC_CTX *mem_ctx,
                                            struct messaging_context *msg_ctx,
                                            struct tevent_context *ev)
 {
+       struct messaging_backend *be = messaging_local_backend(msg_ctx);
        struct messaging_dgm_context *ctx = talloc_get_type_abort(
-               msg_ctx->local->private_data, struct messaging_dgm_context);
+               be->private_data, struct messaging_dgm_context);
        return poll_funcs_tevent_register(mem_ctx, ctx->msg_callbacks, ev);
 }