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]