From a3a4d9ccc09181885ef0b01db5fc5d306c8c7bf4 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 8 Dec 2017 17:18:33 +0100 Subject: [PATCH] messaging: Don't do self-sends in messaging_send_all This leads to cleanupd doing endless MSG_SMB_UNLOCK calls, as it triggers itself in the send_all. This worked correctly before the serverid.tdb removal because cleanupd did not register in serverid.tdb (which was a bug, but it helped us there). Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison --- source3/lib/messages.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source3/lib/messages.c b/source3/lib/messages.c index a0a3f9fb1ba..561616df6e4 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -857,6 +857,11 @@ static int send_all_fn(pid_t pid, void *private_data) struct send_all_state *state = private_data; NTSTATUS status; + if (pid == getpid()) { + DBG_DEBUG("Skip ourselves in messaging_send_all\n"); + return 0; + } + status = messaging_send_buf(state->msg_ctx, pid_to_procid(pid), state->msg_type, state->buf, state->len); if (!NT_STATUS_IS_OK(status)) { -- 2.25.1