From 644d26e841ec06023d0dc3eb9b624b404043c473 Mon Sep 17 00:00:00 2001 From: Vladimir Homutov Date: Tue, 8 May 2018 19:35:56 +0300 Subject: [PATCH] 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. --- src/core/ngx_syslog.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/core/ngx_syslog.c b/src/core/ngx_syslog.c index 0a67928e0..e2f9b6cba 100644 --- a/src/core/ngx_syslog.c +++ b/src/core/ngx_syslog.c @@ -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; }