changeset 7272:fa0e093b64d7

Syslog: re-open syslog udp socket on send error (ticket #1477). Previously, only unix domain sockets were reopened to tolerate cases when local syslog server was restarted. It makes sense to treat other cases (for example, local IP address changes) similarly.
author Vladimir Homutov <vl@nginx.com>
date Tue, 08 May 2018 19:35:56 +0300
parents 9e25a5380a21
children ceab908790c4
files src/core/ngx_syslog.c
diffstat 1 files changed, 1 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_syslog.c
+++ b/src/core/ngx_syslog.c
@@ -289,9 +289,7 @@ ngx_syslog_send(ngx_syslog_peer_t *peer,
         n = ngx_os_io.send(&peer->conn, buf, len);
     }
 
-#if (NGX_HAVE_UNIX_DOMAIN)
-
-    if (n == NGX_ERROR && peer->server.sockaddr->sa_family == AF_UNIX) {
+    if (n == NGX_ERROR) {
 
         if (ngx_close_socket(peer->conn.fd) == -1) {
             ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, ngx_socket_errno,
@@ -301,8 +299,6 @@ ngx_syslog_send(ngx_syslog_peer_t *peer,
         peer->conn.fd = (ngx_socket_t) -1;
     }
 
-#endif
-
     return n;
 }