mirror of
				https://github.com/openresty/openresty.git
				synced 2024-10-13 00:29:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
 | 
						|
--- a/src/core/ngx_connection.c
 | 
						|
+++ b/src/core/ngx_connection.c
 | 
						|
@@ -1118,6 +1118,12 @@ ngx_close_listening_sockets(ngx_cycle_t *cycle)
 | 
						|
     ls = cycle->listening.elts;
 | 
						|
     for (i = 0; i < cycle->listening.nelts; i++) {
 | 
						|
 
 | 
						|
+#if (NGX_HAVE_REUSEPORT)
 | 
						|
+        if (ls[i].fd == (ngx_socket_t) -1) {
 | 
						|
+            continue;
 | 
						|
+        }
 | 
						|
+#endif
 | 
						|
+
 | 
						|
         c = ls[i].connection;
 | 
						|
 
 | 
						|
         if (c) {
 | 
						|
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
 | 
						|
--- a/src/event/ngx_event.c
 | 
						|
+++ b/src/event/ngx_event.c
 | 
						|
@@ -775,6 +775,18 @@ ngx_event_process_init(ngx_cycle_t *cycle)
 | 
						|
 
 | 
						|
 #if (NGX_HAVE_REUSEPORT)
 | 
						|
         if (ls[i].reuseport && ls[i].worker != ngx_worker) {
 | 
						|
+            ngx_log_debug2(NGX_LOG_DEBUG_CORE, cycle->log, 0,
 | 
						|
+                           "closing unused fd:%d listening on %V",
 | 
						|
+                           ls[i].fd, &ls[i].addr_text);
 | 
						|
+
 | 
						|
+            if (ngx_close_socket(ls[i].fd) == -1) {
 | 
						|
+                ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_socket_errno,
 | 
						|
+                              ngx_close_socket_n " %V failed",
 | 
						|
+                              &ls[i].addr_text);
 | 
						|
+            }
 | 
						|
+
 | 
						|
+            ls[i].fd = (ngx_socket_t) -1;
 | 
						|
+
 | 
						|
             continue;
 | 
						|
         }
 | 
						|
 #endif
 |