dovecot-2.2-pigeonhole: lib-sieve: util: program-client: Ignored...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Dec 30 16:24:04 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/63034e62482b
changeset: 2183:63034e62482b
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Dec 30 17:21:35 2015 +0100
description:
lib-sieve: util: program-client: Ignored ENOTCONN error in shutdown(fd, SHUT_WR) call.
This error can apparently occur if the program terminates earlier than the program client issues shutdown().

diffstat:

 src/lib-sieve/util/program-client-local.c  |  3 ++-
 src/lib-sieve/util/program-client-remote.c |  3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diffs (26 lines):

diff -r ee866d88aeb3 -r 63034e62482b src/lib-sieve/util/program-client-local.c
--- a/src/lib-sieve/util/program-client-local.c	Tue Dec 29 20:20:29 2015 +0100
+++ b/src/lib-sieve/util/program-client-local.c	Wed Dec 30 17:21:35 2015 +0100
@@ -244,7 +244,8 @@
 static int program_client_local_close_output(struct program_client *pclient)
 {
 	/* Shutdown output; program stdin will get EOF */
-	if ( pclient->fd_out >= 0 && shutdown(pclient->fd_out, SHUT_WR) < 0 ) {
+	if ( pclient->fd_out >= 0 && shutdown(pclient->fd_out, SHUT_WR) < 0 &&
+		errno != ENOTCONN ) {
 		i_error("shutdown(%s, SHUT_WR) failed: %m", pclient->path);
 		return -1;
 	}
diff -r ee866d88aeb3 -r 63034e62482b src/lib-sieve/util/program-client-remote.c
--- a/src/lib-sieve/util/program-client-remote.c	Tue Dec 29 20:20:29 2015 +0100
+++ b/src/lib-sieve/util/program-client-remote.c	Wed Dec 30 17:21:35 2015 +0100
@@ -245,7 +245,8 @@
 static int program_client_remote_close_output(struct program_client *pclient)
 {
 	/* Shutdown output; program stdin will get EOF */
-	if ( shutdown(pclient->fd_out, SHUT_WR) < 0 ) {
+	if ( pclient->fd_out >= 0 && shutdown(pclient->fd_out, SHUT_WR) < 0 &&
+		errno != ENOTCONN ) {
 		i_error("shutdown(%s, SHUT_WR) failed: %m", pclient->path);
 		return -1;
 	}


More information about the dovecot-cvs mailing list