mturk       2005/06/13 23:34:13

  Modified:    jk/native/common jk_global.h jk_lb_worker.c jk_shm.h
                        jk_status.c
  Log:
  Use 64 bit unsigned ints instead doubles for transferred/read.
  
  Revision  Changes    Path
  1.50      +4 -1      jakarta-tomcat-connectors/jk/native/common/jk_global.h
  
  Index: jk_global.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_global.h,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- jk_global.h       18 May 2005 18:04:53 -0000      1.49
  +++ jk_global.h       14 Jun 2005 06:34:13 -0000      1.50
  @@ -253,6 +253,9 @@
   #define snprintf _snprintf
   #define vsnprintf _vsnprintf
   #endif
  +typedef unsigned __int64 jk_u64_t;
  +#else
  +typedef unsigned long long jk_u64_t;
   #endif
   
   /* Use apr snprintf() and vsnprintf() when needed */
  
  
  
  1.91      +5 -5      jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c
  
  Index: jk_lb_worker.c
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_lb_worker.c,v
  retrieving revision 1.90
  retrieving revision 1.91
  diff -u -r1.90 -r1.91
  --- jk_lb_worker.c    13 Jun 2005 07:55:51 -0000      1.90
  +++ jk_lb_worker.c    14 Jun 2005 06:34:13 -0000      1.91
  @@ -225,8 +225,8 @@
   {
       unsigned int i;
       int total_factor = 0;
  -    double mytraffic = 0;
  -    double curmin = 0;
  +    jk_u64_t mytraffic = 0;
  +    jk_u64_t curmin = 0;
   
       worker_record_t *candidate = NULL;
       if (p->lblock == JK_LB_LOCK_PESSIMISTIC)
  @@ -313,8 +313,8 @@
                                                jk_logger_t *l)
   {
       unsigned int i;
  -    double mytraffic = 0;
  -    double curmin = 0;
  +    jk_u64_t mytraffic = 0;
  +    jk_u64_t curmin = 0;
       worker_record_t *candidate = NULL;
   
       if (p->lblock == JK_LB_LOCK_PESSIMISTIC)
  
  
  
  1.22      +3 -3      jakarta-tomcat-connectors/jk/native/common/jk_shm.h
  
  Index: jk_shm.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_shm.h,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- jk_shm.h  13 Jun 2005 07:55:51 -0000      1.21
  +++ jk_shm.h  14 Jun 2005 06:34:13 -0000      1.22
  @@ -81,9 +81,9 @@
       /* Statistical data */
       volatile time_t  error_time;
       /* Number of bytes read from remote */
  -    volatile double  readed;
  +    volatile jk_u64_t readed;
       /* Number of bytes transferred to remote */
  -    volatile double  transferred;
  +    volatile jk_u64_t transferred;
       /* Number of times the worker was elected */
       volatile size_t  elected;
       /* Number of non 200 responses */
  
  
  
  1.43      +16 -4     jakarta-tomcat-connectors/jk/native/common/jk_status.c
  
  Index: jk_status.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_status.c,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- jk_status.c       13 Jun 2005 07:55:51 -0000      1.42
  +++ jk_status.c       14 Jun 2005 06:34:13 -0000      1.43
  @@ -166,10 +166,11 @@
   }
   
   /* Actually APR's apr_strfsize */
  -static char *status_strfsize(double size, char *buf)
  +static char *status_strfsize(jk_u64_t size, char *buf)
   {
       const char ord[] = "KMGTPE";
       const char *o = ord;
  +    unsigned int remain, siz;
   
       if (size < 0) {
           return strcpy(buf, "  - ");
  @@ -180,12 +181,23 @@
           return buf;
       }
       do {
  -        size /= 1024;
  +        remain = (unsigned int)(size & 0x03FF);
  +        size >>= 10;
           if (size >= 973) {
               ++o;
               continue;
           }
  -        if (sprintf(buf, "%.2f%c", size, *o) < 0)
  +        siz = (unsigned int)(size & 0xFFFF);
  +        if (siz < 9 || (siz == 9 && remain < 973)) {
  +            if ((remain = ((remain * 5) + 256) / 512) >= 10)
  +                ++siz, remain = 0;
  +            if (sprintf(buf, "%d.%d%c", siz, remain, *o) < 0)
  +                return strcpy(buf, "****");
  +            return buf;
  +        }
  +        if (remain >= 512)
  +            ++siz;
  +        if (sprintf(buf, "%3d%c", siz, *o) < 0)
               return strcpy(buf, "****");
           return buf;
       } while (1);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to