mturk 2005/05/29 23:15:53
Modified: jni/native/src network.c
Log:
Add atomic ops for counting statistic data.
Revision Changes Path
1.23 +10 -8 jakarta-tomcat-connectors/jni/native/src/network.c
Index: network.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/network.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- network.c 28 May 2005 07:48:29 -0000 1.22
+++ network.c 30 May 2005 06:15:52 -0000 1.23
@@ -26,10 +26,12 @@
#include "tcn.h"
#ifdef TCN_DO_STATISTICS
-static int sp_created = 0;
-static int sp_closed = 0;
-static int sp_cleared = 0;
-static int sp_accepted = 0;
+#include "apr_atomic.h"
+
+static volatile apr_uint32_t sp_created = 0;
+static volatile apr_uint32_t sp_closed = 0;
+static volatile apr_uint32_t sp_cleared = 0;
+static volatile apr_uint32_t sp_accepted = 0;
/* Fake private pool struct to deal with APR private's socket
* struct not exposing function to access the pool.
*/
@@ -58,7 +60,7 @@
static apr_status_t sp_socket_cleanup(void *data)
{
- sp_cleared++;
+ apr_atomic_inc32(&sp_cleared);
return APR_SUCCESS;
}
@@ -201,7 +203,7 @@
TCN_ASSERT(sock != 0);
#ifdef TCN_DO_STATISTICS
- sp_closed++;
+ apr_atomic_inc32(&sp_closed);
apr_pool_cleanup_kill(((fake_apr_socket_t *)s)->pool, s,
sp_socket_cleanup);
#endif
@@ -243,7 +245,7 @@
#ifdef TCN_DO_STATISTICS
if (n) {
- sp_accepted++;
+ apr_atomic_inc32(&sp_accepted);
apr_pool_cleanup_register(p, (const void *)n,
sp_socket_cleanup,
apr_pool_cleanup_null);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]