tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mt...@apache.org
Subject cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.c proxy_util.c mod_proxy.h
Date Thu, 05 Aug 2004 14:41:11 GMT
mturk       2004/08/05 07:41:10

  Modified:    ajp/proxy mod_proxy.c proxy_util.c mod_proxy.h
  Log:
  Added acquire timeout for obtaining resources from reslist.
  The timeout is in milliseconds to enable quick return in case the
  reslist is exceded the maximum number of connections.
  
  Revision  Changes    Path
  1.25      +8 -1      jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c
  
  Index: mod_proxy.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.c,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- mod_proxy.c	5 Aug 2004 14:08:19 -0000	1.24
  +++ mod_proxy.c	5 Aug 2004 14:41:10 -0000	1.25
  @@ -92,7 +92,7 @@
       else if (!strcasecmp(key, "ttl")) {
           ival = atoi(val);
           if (ival < 1)
  -            return "ttl must be al least one second";
  +            return "ttl must be at least one second";
           worker->ttl = apr_time_from_sec(ival);
       }
       else if (!strcasecmp(key, "min")) {
  @@ -114,6 +114,13 @@
               return "smax must be a positive number";
           worker->smax = ival;
       }
  +    else if (!strcasecmp(key, "acquire")) {
  +        ival = atoi(val);
  +        if (ival < 1)
  +            return "acquire must be at least one mili second";
  +        worker->acquire = apr_time_make(0, ival * 1000);
  +        worker->acquire_set = 1;
  +     }
       else {
           return "unknown parameter";
       }
  
  
  
  1.13      +36 -0     jakarta-tomcat-connectors/ajp/proxy/proxy_util.c
  
  Index: proxy_util.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/proxy_util.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- proxy_util.c	5 Aug 2004 14:08:19 -0000	1.12
  +++ proxy_util.c	5 Aug 2004 14:41:10 -0000	1.13
  @@ -1364,6 +1364,37 @@
       return APR_SUCCESS;
   }
   
  +/* low level connection acquire/release functions
  + * they are hiding apr_reslist for nothreaded or prefork servers.
  + */
  +static apr_status_t acquire_connection_low(proxy_conn_rec **conn, proxy_worker *worker)
  +{
  +    apr_status_t rv;
  +#if APR_HAS_THREADS
  +    if (worker->hmax) {
  +        rv = apr_reslist_acquire(worker->cp->res, (void **)conn);
  +    }
  +    else
  +#endif
  +    {
  +        *conn = worker->cp->conn;
  +        rv = APR_SUCCESS;
  +    }
  +    return rv;
  +}
  +
  +static apr_status_t release_connection_low(proxy_conn_rec *conn, proxy_worker *worker)
  +{
  +    apr_status_t rv = APR_SUCCESS;
  +#if APR_HAS_THREADS
  +    if (worker->hmax) {
  +        rv = apr_reslist_release(worker->cp->res, (void *)conn);
  +    }
  +#endif
  +    return rv;
  +}
  +
  +
   static apr_status_t init_conn_worker(proxy_worker *worker, server_rec *s)
   {
       apr_status_t rv;
  @@ -1374,6 +1405,11 @@
                                   worker->hmax, worker->ttl,
                                   connection_constructor, connection_destructor,
                                   s, worker->cp->pool);
  +#if (APR_MAJOR_VERSION > 0)
  +        /* Set the acquire timeout */
  +        if (rv == APR_SUCCESS && worker->acquire_set)
  +            apr_reslist_timeout_set(worker->cp->res, worker->acquire);
  +#endif
       }
       else
   #endif
  
  
  
  1.17      +2 -1      jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- mod_proxy.h	5 Aug 2004 14:08:19 -0000	1.16
  +++ mod_proxy.h	5 Aug 2004 14:41:10 -0000	1.17
  @@ -228,7 +228,8 @@
       apr_interval_time_t ttl;    /* maximum amount of time in seconds a connection
                                    * may be available while exceeding the soft limit */
       apr_interval_time_t timeout; /* connection timeout */
  -
  +    apr_interval_time_t acquire; /* acquire timeout when the maximum number of connections
is exceeded */
  +    char                acquire_set;
       proxy_conn_pool *cp;        /* Connection pool to use */
       void            *opaque;    /* per scheme worker data */
   };
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message