aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_syslog.c
diff options
context:
space:
mode:
authorVladimir Homutov <vl@nginx.com>2018-05-08 19:35:56 +0300
committerVladimir Homutov <vl@nginx.com>2018-05-08 19:35:56 +0300
commit644d26e841ec06023d0dc3eb9b624b404043c473 (patch)
treeed9d92c6fe5891cec4aee23462d144925b9f76f8 /src/core/ngx_syslog.c
parent68b50f71e193e58ee117ef36f25387cbaa75edf3 (diff)
downloadnginx-644d26e841ec06023d0dc3eb9b624b404043c473.tar.gz
nginx-644d26e841ec06023d0dc3eb9b624b404043c473.zip
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.
Diffstat (limited to 'src/core/ngx_syslog.c')
-rw-r--r--src/core/ngx_syslog.c6
1 files changed, 1 insertions, 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;
}