From 8290210d762c6aa27bbe671aceacac00f23cffb3 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 10 Jan 2017 12:30:54 +0000 Subject: [PATCH] messaging: Fix dead but not cleaned-up-yet destination sockets Bug: https://bugzilla.samba.org/show_bug.cgi?id=12509 Signed-off-by: Volker Lendecke --- source3/lib/messages.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 98bcf829e15..8e404f7ecdb 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -470,6 +470,17 @@ int messaging_send_iov_from(struct messaging_context *msg_ctx, ret = messaging_dgm_send(dst.pid, iov2, iovlen+1, fds, num_fds); unbecome_root(); + if (ret == ECONNREFUSED) { + /* + * Linux returns this when a socket exists in the file + * system without a listening process. This is not + * documented in susv4 or the linux manpages, but it's + * easily testable. For the higher levels this is the + * same as "destination does not exist" + */ + ret = ENOENT; + } + return ret; } -- 2.11.0