]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Handle log pipe read errors
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 May 2016 13:29:40 +0000 (14:29 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 May 2016 13:29:40 +0000 (14:29 +0100)
src/log_helper.c

index c4cbeb73c0275150847cac04b379f025dcfa7d99..a118f1181956f70c10020616322f9c0a8fb8be4c 100644 (file)
@@ -129,7 +129,14 @@ rspamd_log_helper_read (gint fd, short what, gpointer ud)
                }
        }
        else if (r == -1) {
-               msg_warn ("cannot read data from log pipe: %s", strerror (errno));
+               if (errno != EAGAIN || errno != EINTR) {
+                       msg_warn ("cannot read data from log pipe: %s", strerror (errno));
+                       event_del (&ctx->log_ev);
+               }
+       }
+       else if (r == 0) {
+               msg_warn ("cannot read data from log pipe: EOF");
+               event_del (&ctx->log_ev);
        }
 }