svn commit: r506821 - in head/mail/dovecot: . files
Larry Rosenman
ler at FreeBSD.org
Wed Jul 17 19:22:25 UTC 2019
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;
+ }
+ }
More information about the svn-ports-head
mailing list