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, <traw...@apache.org> 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:
>
>
>

Reply via email to