]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
In 2.4, the MPM leaves a copy of the non-disconnected FD sitting in
authorEric Covener <covener@apache.org>
Sun, 15 Sep 2013 02:25:32 +0000 (02:25 +0000)
committerEric Covener <covener@apache.org>
Sun, 15 Sep 2013 02:25:32 +0000 (02:25 +0000)
commit357910112bfa3b1e18a3856353b2704dfa4597b5
tree73ac22365be0895759ac4accece604474529f1ac
parent71033b9081a7bb3be3abecf444bd6c466e6057a7
In 2.4, the MPM leaves a copy of the non-disconnected FD sitting in
context->accept_socket. This FD will be closed a second time, often
shortly after a worker picks it up in this same FD being reused.  The
first recv fails with WSAENOTSOCK since the same FD was closed in the
listener thread while the worker was pulling it off the queue

(The second close is of the underlying FD/socket, not a shared
apr_socket_t, so it's not short-circuited)

This patch makes it a bit more 2.2.x-ish and solves my problem -- the
context->accept_socket gets zapped at the bottom of the loop if
!disconnected.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1523387 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
server/mpm/winnt/child.c