You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Ruediger Pluem <rp...@apache.org> on 2008/02/14 21:38:19 UTC

Re: svn commit: r627728 - in /httpd/httpd/trunk: CHANGES docs/manual/mod/mod_proxy.xml modules/proxy/mod_proxy.c modules/proxy/mod_proxy.h modules/proxy/proxy_util.c


On 02/14/2008 01:55 PM, jim@apache.org wrote:
> Author: jim
> Date: Thu Feb 14 04:55:57 2008
> New Revision: 627728
> 
> URL: http://svn.apache.org/viewvc?rev=627728&view=rev
> Log:
> Add in mod_jk's disablereuse analog for mod_proxy.
> 
> Modified:
>     httpd/httpd/trunk/CHANGES
>     httpd/httpd/trunk/docs/manual/mod/mod_proxy.xml
>     httpd/httpd/trunk/modules/proxy/mod_proxy.c
>     httpd/httpd/trunk/modules/proxy/mod_proxy.h
>     httpd/httpd/trunk/modules/proxy/proxy_util.c


> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.h
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.h?rev=627728&r1=627727&r2=627728&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy.h (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy.h Thu Feb 14 04:55:57 2008
> @@ -352,6 +352,8 @@
>      char ping_timeout_set;
>      int             lbset;      /* load balancer cluster set */
>      char            retry_set;
> +    char            disablereuse;
> +    char            disablereuse_set;
>  };

I am missing a minor bump due to these changes.


>  
>  /*
> 
> Modified: httpd/httpd/trunk/modules/proxy/proxy_util.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?rev=627728&r1=627727&r2=627728&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/proxy_util.c (original)
> +++ httpd/httpd/trunk/modules/proxy/proxy_util.c Thu Feb 14 04:55:57 2008
> @@ -1698,7 +1698,7 @@
>      }
>  
>      /* determine if the connection need to be closed */
> -    if (conn->close || !worker->is_address_reusable) {
> +    if (conn->close || !worker->is_address_reusable || worker->disablereuse) {
>          apr_pool_t *p = conn->pool;
>          apr_pool_clear(p);
>          conn = apr_pcalloc(p, sizeof(proxy_conn_rec));
> @@ -1902,8 +1902,13 @@
>      if (!worker->retry_set) {
>          worker->retry = apr_time_from_sec(PROXY_WORKER_DEFAULT_RETRY);
>      }
> -    /* By default address is reusable */
> -    worker->is_address_reusable = 1;
> +    /* By default address is reusable unless DisableReuse is set */
> +    if (worker->disablereuse) {
> +        worker->is_address_reusable = 0;

Is this really a good idea? Why repeat the DNS resolution only because
we want to avoid persistent connections?


Regards

RĂ¼diger