mturk       2005/02/21 02:31:08

  Modified:    jk/native/common jk_shm.h
  Log:
  Use volatile to supress (hopefully) caching in registers the data
  that can be changed in multi cpu systems.
  
  Revision  Changes    Path
  1.16      +13 -13    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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- jk_shm.h  20 Feb 2005 18:31:21 -0000      1.15
  +++ jk_shm.h  21 Feb 2005 10:31:08 -0000      1.16
  @@ -55,7 +55,7 @@
   {
       int     id;
       /* Number of currently busy channels */
  -    int     busy;
  +    volatile int busy;
       /* worker name */
       char    name[JK_SHM_STR_SIZ+1];
       /* worker domain */
  @@ -63,28 +63,28 @@
       /* worker redirect route */
       char    redirect[JK_SHM_STR_SIZ+1];
       /* current status of the worker */
  -    int     is_disabled;
  -    int     is_busy;
  +    volatile int is_disabled;
  +    volatile int is_busy;
       /* Current lb factor */
  -    int     lb_factor;
  +    volatile int lb_factor;
       /* Current lb value  */
  -    int     lb_value;
  -    int     in_error_state;
  -    int     in_recovering;
  +    volatile int lb_value;
  +    volatile int in_error_state;
  +    volatile int in_recovering;
       int     sticky_session;
       int     sticky_session_force;
       int     recover_wait_time;
       int     retries;
       /* Statistical data */
  -    time_t  error_time;
  +    volatile time_t  error_time;
       /* Number of bytes read from remote */
  -    size_t  readed;
  +    volatile size_t  readed;
       /* Number of bytes transferred to remote */
  -    size_t  transferred;
  +    volatile size_t  transferred;
       /* Number of times the worker was elected */
  -    size_t  elected;
  +    volatile size_t  elected;
       /* Number of non 200 responses */
  -    size_t  errors;
  +    volatile size_t  errors;
   };
   typedef struct jk_shm_worker jk_shm_worker_t;
   
  
  
  

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

Reply via email to