Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 2019 19:22:25 +0000 (UTC)
From:      Larry Rosenman <ler@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r506821 - in head/mail/dovecot: . files
Message-ID:  <201907171922.x6HJMPNU094832@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ler
Date: Wed Jul 17 19:22:24 2019
New Revision: 506821
URL: https://svnweb.freebsd.org/changeset/ports/506821

Log:
  mail/dovecot: stop whining about TCP_NODELAY errors.
  
  [PATCH] lib: ostream-file: Don't log any errors when setting
   TCP_NODELAY
  
  It's likely never useful to log the error, and it seems more and more
  unexpected errors just keep popping up.
  
  Obtained from:	upstream git.

Modified:
  head/mail/dovecot/Makefile
  head/mail/dovecot/files/patch-src_lib_ostream-file.c

Modified: head/mail/dovecot/Makefile
==============================================================================
--- head/mail/dovecot/Makefile	Wed Jul 17 19:19:16 2019	(r506820)
+++ head/mail/dovecot/Makefile	Wed Jul 17 19:22:24 2019	(r506821)
@@ -8,7 +8,7 @@
 
 PORTNAME=	dovecot
 PORTVERSION=	2.3.7
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	mail ipv6
 MASTER_SITES=	https://dovecot.org/releases/2.3/
 

Modified: head/mail/dovecot/files/patch-src_lib_ostream-file.c
==============================================================================
--- head/mail/dovecot/files/patch-src_lib_ostream-file.c	Wed Jul 17 19:19:16 2019	(r506820)
+++ head/mail/dovecot/files/patch-src_lib_ostream-file.c	Wed Jul 17 19:22:24 2019	(r506821)
@@ -1,11 +1,29 @@
---- src/lib/ostream-file.c.orig	2019-07-12 19:18:41 UTC
+--- src/lib/ostream-file.c.orig	2019-07-12 19:19:37 UTC
 +++ src/lib/ostream-file.c
-@@ -334,7 +334,7 @@ static void o_stream_tcp_flush_via_nodelay(struct file
+@@ -333,17 +333,17 @@ static int buffer_flush(struct file_ostream *fstream)
+ static void o_stream_tcp_flush_via_nodelay(struct file_ostream *fstream)
  {
  	if (net_set_tcp_nodelay(fstream->fd, TRUE) < 0) {
- 		if (errno != ENOTSUP && errno != ENOTSOCK &&
--		    errno != ENOPROTOOPT) {
-+		    errno != ENOPROTOOPT && errno != EINVAL) {
- 			i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m",
- 				o_stream_get_name(&fstream->ostream.ostream));
- 		}
+-		if (errno != ENOTSUP && errno != ENOTSOCK &&
+-		    errno != ENOPROTOOPT && errno != EINVAL) {
+-			i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m",
+-				o_stream_get_name(&fstream->ostream.ostream));
+-		}
++		/* Don't bother logging errors. There are quite a lot of
++ 		   different errors that need to be ignored, and it differs
++ 		   between OSes. At least:
++ 		   Linux: ENOTSUP, ENOTSOCK, ENOPROTOOPT
++ 		   FreeBSD: EINVAL, ECONNRESET */
+ 		fstream->no_socket_nodelay = TRUE;
+ 	} else if (net_set_tcp_nodelay(fstream->fd, FALSE) < 0) {
+-		/* We already successfully enabled TCP_NODELAY, so we're really
+-		   not expecting any errors here. */
+-		i_error("file_ostream.net_set_tcp_nodelay(%s, FALSE) failed: %m",
+-			o_stream_get_name(&fstream->ostream.ostream));
++ 		/* We already successfully enabled TCP_NODELAY, so there
++ 		   shouldn't really be errors. Except ECONNRESET can possibly
++ 		   still happen between these two calls, so again don't log
++ 		   errors. */
+ 		fstream->no_socket_nodelay = TRUE;
+ 	}
+ }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907171922.x6HJMPNU094832>