]> git.kaiwu.me - nginx.git/commitdiff
Syslog: re-open syslog udp socket on send error (ticket #1477).
authorVladimir Homutov <vl@nginx.com>
Tue, 8 May 2018 16:35:56 +0000 (19:35 +0300)
committerVladimir Homutov <vl@nginx.com>
Tue, 8 May 2018 16:35:56 +0000 (19:35 +0300)
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.

src/core/ngx_syslog.c

index 0a67928e0eb7908a84da8bec5a6d0704f29fd4c0..e2f9b6cba392c06ac70c7ab341bf3700711e569d 100644 (file)
@@ -289,9 +289,7 @@ ngx_syslog_send(ngx_syslog_peer_t *peer, u_char *buf, size_t len)
         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, u_char *buf, size_t len)
         peer->conn.fd = (ngx_socket_t) -1;
     }
 
-#endif
-
     return n;
 }