On the mod_proxy_http side, when the backend closes the connection (as
EOS), the socket is recycled w/o being closed either.
The following patch avoids this, freeing the resource quickly and saving
the is_socket_connected() call later when re-acquired.
Since it is quite symetric to the current fix (though all platforms this
one), maybe it could be applied too...
Index: modules/proxy/mod_proxy_http.c
===================================================================
--- modules/proxy/mod_proxy_http.c (revision 1562607)
+++ modules/proxy/mod_proxy_http.c (working copy)
@@ -1680,6 +1680,7 @@ int ap_proxy_http_process_response(apr_pool_t * p,
continue;
}
else if (rv == APR_EOF) {
+ backend->close = 1;
break;
}
else if (rv != APR_SUCCESS) {
[END]
Regards,
Yann.
On Wed, Jan 29, 2014 at 4:46 PM, <[email protected]> wrote:
> Author: trawick
> Date: Wed Jan 29 15:46:56 2014
> New Revision: 1562485
>
> URL: http://svn.apache.org/r1562485
> Log:
> propose a WinNT fix
>
> Modified:
> httpd/httpd/branches/2.4.x/STATUS
>
> Modified: httpd/httpd/branches/2.4.x/STATUS
> URL:
> http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1562485&r1=1562484&r2=1562485&view=diff
>
> ==============================================================================
> --- httpd/httpd/branches/2.4.x/STATUS (original)
> +++ httpd/httpd/branches/2.4.x/STATUS Wed Jan 29 15:46:56 2014
> @@ -177,6 +177,13 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
> 2.4.x patch: trunk works mod/ next_number
> +1: jim
>
> + * WinNT MPM: If ap_run_pre_connection() fails or sets c->aborted, don't
> + save the socket for reuse by the next worker as if it were an
> + APR_SO_DISCONNECTED socket. Restores 2.2 behavior.
> + trunk patch: http://svn.apache.org/r1523387
> + 2.4.x patch: trunk works
> + +1: trawick
> +
> OTHER PROPOSALS
>
> * A list of further possible backports can be found at:
>
>
>