]> git.pld-linux.org Git - packages/dovecot.git/commitdiff
- final upstream fix
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 16 Jul 2019 11:06:20 +0000 (13:06 +0200)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 16 Jul 2019 11:06:20 +0000 (13:06 +0200)
dovecot-small_fixes.patch
dovecot.spec

index 5c3cc5daba690fd635d9b20301b91fd118a4171d..2cbd6318e24e5a2a3386e7f2119b04676e5c7f5d 100644 (file)
@@ -1,11 +1,43 @@
---- src/lib/ostream-file.c.orig        2019-07-12 19:18:41 UTC
-+++ src/lib/ostream-file.c
-@@ -334,7 +334,7 @@ static void o_stream_tcp_flush_via_nodelay(struct file
+From 25028730cd1b76e373ff989625132d526eea2504 Mon Sep 17 00:00:00 2001
+From: Timo Sirainen <timo.sirainen@open-xchange.com>
+Date: Mon, 15 Jul 2019 10:14:23 +0300
+Subject: [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.
+---
+ src/lib/ostream-file.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/src/lib/ostream-file.c b/src/lib/ostream-file.c
+index e7e6f62d12..82bf729ac0 100644
+--- a/src/lib/ostream-file.c
++++ b/src/lib/ostream-file.c
+@@ -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 &&
+-              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));
-               }
+-                      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;
+       }
+ }
index b6a47e24cb1c1783a9dc288e8962855473abe0a4..a58cf7ec4d1fdc743b259d5198a95cc40f631c36 100644 (file)
@@ -163,7 +163,7 @@ Pakiet programistyczny do tworzenia wtyczek dla Dovecota.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p0
+%patch2 -p1
 
 %{__sed} -i 's,/usr/lib/dovecot,%{_libdir}/dovecot,g' doc/example-config/*.conf doc/example-config/conf.d/*.conf
 
This page took 0.177606 seconds and 4 git commands to generate.