mirror of
https://github.com/nginx/nginx.git
synced 2024-12-19 05:33:52 -06:00
Core: handle getsockopt(TCP_FASTOPEN) failures.
Linux returns EOPNOTSUPP for non-TCP sockets and ENOPROTOOPT for TCP sockets, because getsockopt(TCP_FASTOPEN) is not implemented so far. While there, lower the log level from ALERT to NOTICE to match other getsockopt() failures. Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
This commit is contained in:
parent
449e8eeb53
commit
2e57e0609b
@ -97,7 +97,7 @@ ngx_set_inherited_sockets(ngx_cycle_t *cycle)
|
||||
ngx_uint_t i;
|
||||
ngx_listening_t *ls;
|
||||
socklen_t olen;
|
||||
#if (NGX_HAVE_DEFERRED_ACCEPT)
|
||||
#if (NGX_HAVE_DEFERRED_ACCEPT || NGX_HAVE_TCP_FASTOPEN)
|
||||
ngx_err_t err;
|
||||
#endif
|
||||
#if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER)
|
||||
@ -223,9 +223,13 @@ ngx_set_inherited_sockets(ngx_cycle_t *cycle)
|
||||
(void *) &ls[i].fastopen, &olen)
|
||||
== -1)
|
||||
{
|
||||
ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_socket_errno,
|
||||
"getsockopt(TCP_FASTOPEN) %V failed, ignored",
|
||||
&ls[i].addr_text);
|
||||
err = ngx_socket_errno;
|
||||
|
||||
if (err != NGX_EOPNOTSUPP && err != NGX_ENOPROTOOPT) {
|
||||
ngx_log_error(NGX_LOG_NOTICE, cycle->log, err,
|
||||
"getsockopt(TCP_FASTOPEN) %V failed, ignored",
|
||||
&ls[i].addr_text);
|
||||
}
|
||||
|
||||
ls[i].fastopen = -1;
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ typedef int ngx_err_t;
|
||||
#define NGX_ENOSPC ENOSPC
|
||||
#define NGX_EPIPE EPIPE
|
||||
#define NGX_EINPROGRESS EINPROGRESS
|
||||
#define NGX_ENOPROTOOPT ENOPROTOOPT
|
||||
#define NGX_EOPNOTSUPP EOPNOTSUPP
|
||||
#define NGX_EADDRINUSE EADDRINUSE
|
||||
#define NGX_ECONNABORTED ECONNABORTED
|
||||
|
@ -38,6 +38,7 @@ typedef DWORD ngx_err_t;
|
||||
#define NGX_EPIPE EPIPE
|
||||
#define NGX_EAGAIN WSAEWOULDBLOCK
|
||||
#define NGX_EINPROGRESS WSAEINPROGRESS
|
||||
#define NGX_ENOPROTOOPT WSAENOPROTOOPT
|
||||
#define NGX_EOPNOTSUPP WSAEOPNOTSUPP
|
||||
#define NGX_EADDRINUSE WSAEADDRINUSE
|
||||
#define NGX_ECONNABORTED WSAECONNABORTED
|
||||
|
Loading…
Reference in New Issue
Block a user