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]

Reply via email to