From 2dbfb414d8444687e999361b548dccd8a666f226 Mon Sep 17 00:00:00 2001 From: Maxime Dourov Date: Fri, 15 Mar 2024 16:31:31 +0100 Subject: [PATCH] fix: replace socket call swap w/ fallback --- src/core/ngx_connection.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c index 242d0b78ca..bf52c3f6f3 100644 --- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -489,11 +489,14 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle) } #if (NGX_HAVE_MPTCP) - s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, + s = (ngx_socket_t) -1; + if (ls[i].protocol > 0) + s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, ls[i].protocol); -#else - s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, 0); + if (s == (ngx_socket_t) -1) #endif + s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, 0); + if (s == (ngx_socket_t) -1) { ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, ngx_socket_n " %V failed", &ls[i].addr_text);