From: Volker Lendecke Date: Tue, 10 Jan 2017 12:30:54 +0000 (+0000) Subject: messaging: Fix dead but not cleaned-up-yet destination sockets X-Git-Tag: talloc-2.1.9~432 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e84e44ce923e5dc7529bb813e10a2890528a4ab0;p=thirdparty%2Fsamba.git 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 Reviewed-by: Stefan Metzmacher Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Tue Jan 10 17:40:58 CET 2017 on sn-devel-144 --- diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 505eb66fd4c..533e8694612 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -626,6 +626,17 @@ int messaging_send_iov_from(struct messaging_context *msg_ctx, 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; }