From 293a602b33f07ecf75f1ea4956c012261a6f2ae5 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sat, 4 Oct 2014 10:40:24 +0200 Subject: [PATCH] messages_dgm: Only pass "unique" to messaging_dgm_init We have only one context per pid, so messaging_dgm_init can do getpid() itself. Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- source3/lib/messages.c | 4 ++-- source3/lib/messages_dgm.c | 10 +++++----- source3/lib/messages_dgm.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 0e5358349dc..f14d14961ce 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -307,7 +307,7 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, sec_init(); - ret = messaging_dgm_init(ctx->event_ctx, ctx->id, + ret = messaging_dgm_init(ctx->event_ctx, ctx->id.unique_id, lp_cache_directory(), sec_initial_uid(), messaging_recv_cb, ctx); @@ -368,7 +368,7 @@ NTSTATUS messaging_reinit(struct messaging_context *msg_ctx) msg_ctx->id = procid_self(); - ret = messaging_dgm_init(msg_ctx->event_ctx, msg_ctx->id, + ret = messaging_dgm_init(msg_ctx->event_ctx, msg_ctx->id.unique_id, lp_cache_directory(), sec_initial_uid(), messaging_recv_cb, msg_ctx); if (ret != 0) { diff --git a/source3/lib/messages_dgm.c b/source3/lib/messages_dgm.c index ae35282b4af..8f5ac4dc37a 100644 --- a/source3/lib/messages_dgm.c +++ b/source3/lib/messages_dgm.c @@ -176,7 +176,7 @@ static int messaging_dgm_lockfile_remove(const char *cache_dir, pid_t pid) } int messaging_dgm_init(struct tevent_context *ev, - struct server_id pid, + uint64_t unique, const char *cache_dir, uid_t dir_owner, void (*recv_cb)(const uint8_t *msg, @@ -203,7 +203,7 @@ int messaging_dgm_init(struct tevent_context *ev, if (ctx == NULL) { goto fail_nomem; } - ctx->pid = pid.pid; + ctx->pid = getpid(); ctx->recv_cb = recv_cb; ctx->recv_cb_private_data = recv_cb_private_data; @@ -220,14 +220,14 @@ int messaging_dgm_init(struct tevent_context *ev, socket_address = (struct sockaddr_un) { .sun_family = AF_UNIX }; sockname_len = snprintf(socket_address.sun_path, sizeof(socket_address.sun_path), - "%s/%u", socket_dir.buf, (unsigned)pid.pid); + "%s/%u", socket_dir.buf, (unsigned)ctx->pid); if (sockname_len >= sizeof(socket_address.sun_path)) { TALLOC_FREE(ctx); return ENAMETOOLONG; } - ret = messaging_dgm_lockfile_create(cache_dir, dir_owner, pid.pid, - &ctx->lockfile_fd, pid.unique_id); + ret = messaging_dgm_lockfile_create(cache_dir, dir_owner, ctx->pid, + &ctx->lockfile_fd, unique); if (ret != 0) { DEBUG(1, ("%s: messaging_dgm_create_lockfile failed: %s\n", __func__, strerror(ret))); diff --git a/source3/lib/messages_dgm.h b/source3/lib/messages_dgm.h index 00ff56f30c3..9d01976439b 100644 --- a/source3/lib/messages_dgm.h +++ b/source3/lib/messages_dgm.h @@ -21,7 +21,7 @@ #define _MESSAGES_DGM_H_ int messaging_dgm_init(struct tevent_context *ev, - struct server_id pid, + uint64_t unique, const char *cache_dir, uid_t dir_owner, void (*recv_cb)(const uint8_t *msg, -- 2.11.4.GIT