From 14ddadb9acd8d2c0872d83de6f1c98ab5ed98613 Mon Sep 17 00:00:00 2001 From: Ruslan Ermilov Date: Fri, 5 Jun 2015 23:03:13 +0300 Subject: [PATCH] Stream: fixed "reuseport" to actually work. --- src/stream/ngx_stream.c | 7 +++++++ src/stream/ngx_stream.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/stream/ngx_stream.c b/src/stream/ngx_stream.c index 1c5e7a87c..b0889e4d6 100644 --- a/src/stream/ngx_stream.c +++ b/src/stream/ngx_stream.c @@ -314,6 +314,9 @@ found: #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) addr->ipv6only = listen->ipv6only; #endif +#if (NGX_HAVE_REUSEPORT) + addr->reuseport = listen->reuseport; +#endif return NGX_OK; } @@ -386,6 +389,10 @@ ngx_stream_optimize_servers(ngx_conf_t *cf, ngx_array_t *ports) ls->ipv6only = addr[i].ipv6only; #endif +#if (NGX_HAVE_REUSEPORT) + ls->reuseport = addr[i].reuseport; +#endif + stport = ngx_palloc(cf->pool, sizeof(ngx_stream_port_t)); if (stport == NULL) { return NGX_CONF_ERROR; diff --git a/src/stream/ngx_stream.h b/src/stream/ngx_stream.h index a10f68fff..116c0cc54 100644 --- a/src/stream/ngx_stream.h +++ b/src/stream/ngx_stream.h @@ -108,6 +108,9 @@ typedef struct { #endif #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) unsigned ipv6only:1; +#endif +#if (NGX_HAVE_REUSEPORT) + unsigned reuseport:1; #endif unsigned so_keepalive:2; #if (NGX_HAVE_KEEPALIVE_TUNABLE)