mturk 2005/02/14 01:45:31
Modified: jk/native/common jk_mt.h
Log:
Rewrite the code making sure that file locks are present on unixes
regardless of MT_CODE definition.
Revision Changes Path
1.16 +32 -34 jakarta-tomcat-connectors/jk/native/common/jk_mt.h
Index: jk_mt.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_mt.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- jk_mt.h 13 Feb 2005 12:56:41 -0000 1.15
+++ jk_mt.h 14 Feb 2005 09:45:31 -0000 1.16
@@ -32,53 +32,60 @@
#define getpid() ((int)GetThreadGroupID())
#endif
-
/*
* All WIN32 code is MT, UNIX code that uses pthreads is marked by the POSIX
* _REENTRANT define.
*/
#if defined (WIN32) || defined(_REENTRANT) || (defined(NETWARE) &&
defined(__NOVELL_LIBC__))
- /*
- * Marks execution under MT compilation
- */
+/*
+ * Marks execution under MT compilation
+ */
#define _MT_CODE
-
#ifdef WIN32
-
#include <windows.h>
typedef CRITICAL_SECTION JK_CRIT_SEC;
+#define JK_INIT_CS(x, rc) InitializeCriticalSection(x); rc = JK_TRUE
+#define JK_DELETE_CS(x, rc) DeleteCriticalSection(x); rc = JK_TRUE
+#define JK_ENTER_CS(x, rc) EnterCriticalSection(x); rc = JK_TRUE
+#define JK_LEAVE_CS(x, rc) LeaveCriticalSection(x); rc = JK_TRUE
-#define JK_INIT_CS(x, rc) InitializeCriticalSection(x); rc = JK_TRUE;
-#define JK_DELETE_CS(x, rc) DeleteCriticalSection(x); rc = JK_TRUE;
-#define JK_ENTER_CS(x, rc) EnterCriticalSection(x); rc = JK_TRUE;
-#define JK_LEAVE_CS(x, rc) LeaveCriticalSection(x); rc = JK_TRUE;
-#define JK_ENTER_LOCK(x, rc) rc = JK_TRUE;
-#define JK_LEAVE_LOCK(x, rc) rc = JK_TRUE;
-
-#else /* Unix pthreads */
-
+#else /* !WIN32 */
#define _MT_CODE_PTHREAD
#include <pthread.h>
#include <unistd.h>
#include <fcntl.h>
typedef pthread_mutex_t JK_CRIT_SEC;
-
#define JK_INIT_CS(x, rc)\
- if(pthread_mutex_init(x, NULL)) rc = JK_FALSE; else rc = JK_TRUE;
+ if(pthread_mutex_init(x, NULL)) rc = JK_FALSE; else rc = JK_TRUE
#define JK_DELETE_CS(x, rc)\
- if(pthread_mutex_destroy(x)) rc = JK_FALSE; else rc = JK_TRUE;
+ if(pthread_mutex_destroy(x)) rc = JK_FALSE; else rc = JK_TRUE
#define JK_ENTER_CS(x, rc)\
- if(pthread_mutex_lock(x)) rc = JK_FALSE; else rc = JK_TRUE;
+ if(pthread_mutex_lock(x)) rc = JK_FALSE; else rc = JK_TRUE
#define JK_LEAVE_CS(x, rc)\
- if(pthread_mutex_unlock(x)) rc = JK_FALSE; else rc = JK_TRUE;
+ if(pthread_mutex_unlock(x)) rc = JK_FALSE; else rc = JK_TRUE
int jk_gettid();
+#endif /* WIN32 */
+
+#else /* !_MT_CODE */
+
+typedef void *JK_CRIT_SEC;
+#define JK_INIT_CS(x, rc) rc = JK_TRUE
+#define JK_DELETE_CS(x, rc) rc = JK_TRUE
+#define JK_ENTER_CS(x, rc) rc = JK_TRUE
+#define JK_LEAVE_CS(x, rc) rc = JK_TRUE
+#define jk_gettid() 0
+#endif /* MT_CODE */
+
+#if !defined(WIN32) && !defined(NETWARE)
+#include <unistd.h>
+#include <fcntl.h>
#if HAVE_FLOCK
#include <sys/file.h>
@@ -116,18 +123,9 @@
} while (0)
#endif /* HAVE_FLOCK */
-#endif /* Unix pthreads */
-
-#else /* Not an MT code */
-
-typedef void *JK_CRIT_SEC;
-
-#define JK_INIT_CS(x, rc) rc = JK_TRUE;
-#define JK_DELETE_CS(x, rc) rc = JK_TRUE;
-#define JK_ENTER_CS(x, rc) rc = JK_TRUE;
-#define JK_LEAVE_CS(x, rc) rc = JK_TRUE;
-#define jk_gettid() 0
-
-#endif /* Not an MT code */
+#else /* WIN32 || NETWARE */
+#define JK_ENTER_LOCK(x, rc) rc = JK_TRUE
+#define JK_LEAVE_LOCK(x, rc) rc = JK_TRUE
+#endif
#endif /* _JK_MT_H */
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]