]> granicus.if.org Git - apache/commitdiff
If the lingering close does not leave the socket in a disconnected state,
authorWilliam A. Rowe Jr <wrowe@apache.org>
Tue, 11 Apr 2017 14:09:00 +0000 (14:09 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Tue, 11 Apr 2017 14:09:00 +0000 (14:09 +0000)
do not recycle the socket.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1790978 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/winnt/child.c

index 45b22a0d34eca9ef57a1afb59a997e0578facff5..559f41c0cc7521a16103e5f17ad92e7acdee8d3d 100644 (file)
@@ -813,12 +813,12 @@ static DWORD __stdcall worker_main(void *thread_num_val)
 
         ap_process_connection(c, context->sock);
 
-        apr_socket_opt_get(context->sock, APR_SO_DISCONNECTED, &disconnected);
+        ap_lingering_close(c);
 
+        apr_socket_opt_get(context->sock, APR_SO_DISCONNECTED, &disconnected);
         if (!disconnected) {
             context->accept_socket = INVALID_SOCKET;
         }
-        ap_lingering_close(c);
     }
 
     ap_update_child_status_from_indexes(0, thread_num, SERVER_DEAD, NULL);