Author: mturk Date: Sat Jun 24 03:44:34 2006 New Revision: 416897 URL: http://svn.apache.org/viewvc?rev=416897&view=rev Log: Instead calling time(NULL), use it as a function parameter.
Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c tomcat/connectors/trunk/jk/native/common/jk_service.h tomcat/connectors/trunk/jk/native/common/jk_worker.c Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c?rev=416897&r1=416896&r2=416897&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.c Sat Jun 24 03:44:34 2006 @@ -2173,18 +2173,15 @@ return JK_FALSE; } -int JK_METHOD ajp_maintain(jk_worker_t *pThis, jk_logger_t *l) +int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t now, jk_logger_t *l) { JK_TRACE_ENTER(l); if (pThis && pThis->worker_private) { ajp_worker_t *aw = pThis->worker_private; - time_t now; int rc; /* Obtain current time only if needed */ - if (aw->cache_timeout > 0) - now = time(NULL); - else { + if (aw->cache_timeout < 1) { /* Nothing to do. */ JK_TRACE_EXIT(l); return JK_TRUE; Modified: tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h?rev=416897&r1=416896&r2=416897&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_ajp_common.h Sat Jun 24 03:44:34 2006 @@ -355,7 +355,7 @@ int ajp_connection_tcp_get_message(ajp_endpoint_t * ae, jk_msg_buf_t *msg, jk_logger_t *l); -int JK_METHOD ajp_maintain(jk_worker_t *pThis, jk_logger_t *l); +int JK_METHOD ajp_maintain(jk_worker_t *pThis, time_t now, jk_logger_t *l); #ifdef __cplusplus } Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?rev=416897&r1=416896&r2=416897&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sat Jun 24 03:44:34 2006 @@ -226,10 +226,10 @@ */ static void recover_workers(lb_worker_t *p, jk_uint64_t curmax, + time_t now, jk_logger_t *l) { unsigned int i; - time_t now = time(NULL); int elapsed; worker_record_t *w = NULL; JK_TRACE_ENTER(l); @@ -270,6 +270,7 @@ { unsigned int i; jk_uint64_t curmax = 0; + JK_TRACE_ENTER(l); if (p->lbmethod != JK_LB_BYBUSYNESS) { for (i = 0; i < p->num_of_workers; i++) { @@ -283,32 +284,32 @@ return curmax; } -static int JK_METHOD maintain_workers(jk_worker_t *p, jk_logger_t *l) +static int JK_METHOD maintain_workers(jk_worker_t *p, time_t now, jk_logger_t *l) { unsigned int i = 0; jk_uint64_t curmax = 0; long delta; - time_t now = time(NULL); - JK_TRACE_ENTER(l); + now = time(NULL); + JK_TRACE_ENTER(l); if (p && p->worker_private) { lb_worker_t *lb = (lb_worker_t *)p->worker_private; for (i = 0; i < lb->num_of_workers; i++) { if (lb->lb_workers[i].w->maintain) { - lb->lb_workers[i].w->maintain(lb->lb_workers[i].w, l); + lb->lb_workers[i].w->maintain(lb->lb_workers[i].w, now, l); } } jk_shm_lock(); -/* Now we check for global maintenance (once for all processes). - * Checking workers for recovery and applying decay to the - * load values should not be done by each process individually. - * Therefore we globally sync and we use a global timestamp. - * Since it's possible that we come here a few milliseconds - * before the interval has passed, we allow a little tolerance. - */ + /* Now we check for global maintenance (once for all processes). + * Checking workers for recovery and applying decay to the + * load values should not be done by each process individually. + * Therefore we globally sync and we use a global timestamp. + * Since it's possible that we come here a few milliseconds + * before the interval has passed, we allow a little tolerance. + */ delta = (long)difftime(now, lb->s->last_maintain_time) + JK_LB_MAINTAIN_TOLERANCE; if (delta >= lb->maintain_time) { lb->s->last_maintain_time = now; @@ -317,7 +318,7 @@ "decay with 2^%d", JK_LB_DECAY_MULT * delta / lb->maintain_time); curmax = decay_load(lb, JK_LB_DECAY_MULT * delta / lb->maintain_time, l); - recover_workers(lb, curmax, l); + recover_workers(lb, curmax, now, l); } jk_shm_unlock(); Modified: tomcat/connectors/trunk/jk/native/common/jk_service.h URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_service.h?rev=416897&r1=416896&r2=416897&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_service.h (original) +++ tomcat/connectors/trunk/jk/native/common/jk_service.h Sat Jun 24 03:44:34 2006 @@ -425,7 +425,7 @@ /* * Maintain this worker. */ - int (JK_METHOD * maintain) (jk_worker_t *w, jk_logger_t *l); + int (JK_METHOD * maintain) (jk_worker_t *w, time_t now, jk_logger_t *l); }; Modified: tomcat/connectors/trunk/jk/native/common/jk_worker.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_worker.c?rev=416897&r1=416896&r2=416897&view=diff ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_worker.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_worker.c Sat Jun 24 03:44:34 2006 @@ -301,7 +301,7 @@ jk_log(l, JK_LOG_DEBUG, "Maintaining worker %s", jk_map_name_at(worker_map, i)); - w->maintain(w, l); + w->maintain(w, now, l); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]