You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2007/03/20 09:15:51 UTC

svn commit: r520310 - in /tomcat/connectors/trunk/jk: native/common/jk_mt.h native/configure.in xdocs/miscellaneous/changelog.xml xdocs/webserver_howto/apache.xml

Author: mturk
Date: Tue Mar 20 01:15:49 2007
New Revision: 520310

URL: http://svn.apache.org/viewvc?view=rev&rev=520310
Log:
Add --enable-flock configure param for explicit compilation of flock() for shared memory locks

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_mt.h
    tomcat/connectors/trunk/jk/native/configure.in
    tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
    tomcat/connectors/trunk/jk/xdocs/webserver_howto/apache.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_mt.h
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_mt.h?view=diff&rev=520310&r1=520309&r2=520310
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_mt.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_mt.h Tue Mar 20 01:15:49 2007
@@ -96,7 +96,15 @@
 #include <unistd.h>
 #include <fcntl.h>
 
+
+#define USE_FLOCK_LK 0
 #if HAVE_FLOCK
+#ifdef JK_USE_FLOCK
+#define USE_FLOCK_LK 1
+#endif
+#endif
+
+#if USE_FLOCK_LK
 #include <sys/file.h>
 
 #define JK_ENTER_LOCK(x, rc)        \
@@ -111,7 +119,7 @@
       rc = rc == 0 ? JK_TRUE : JK_FALSE; \
     } while (0)
 
-#else
+#else /* !USE_FLOCK_LK */
 
 #define JK_ENTER_LOCK(x, rc)        \
     do {                            \
@@ -136,7 +144,8 @@
       while ((rc = fcntl((x), F_SETLKW, &_fl) < 0) && (errno == EINTR)); \
       rc = rc == 0 ? JK_TRUE : JK_FALSE; \
     } while (0)
-#endif /* HAVE_FLOCK */
+
+#endif /* USE_FLOCK_LK */
 
 #else  /* WIN32 || NETWARE */
 #define JK_ENTER_LOCK(x, rc) rc = JK_TRUE

Modified: tomcat/connectors/trunk/jk/native/configure.in
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/configure.in?view=diff&rev=520310&r1=520309&r2=520310
==============================================================================
--- tomcat/connectors/trunk/jk/native/configure.in (original)
+++ tomcat/connectors/trunk/jk/native/configure.in Tue Mar 20 01:15:49 2007
@@ -407,6 +407,22 @@
 ])
 AC_SUBST(CFLAGS)
 
+dnl CFLAGS for shared memory lock mode
+dnl it also allows the CFLAGS environment variable.
+CFLAGS="${CFLAGS}"
+AC_ARG_ENABLE(
+prefork,
+[  --enable-flock   Turn on flock for shared locking if present],
+[
+case "${enableval}" in
+    y | Y | YES | yes | TRUE | true )
+        CFLAGS="${CFLAGS} -DJK_USE_FLOCK"
+        AC_MSG_RESULT([...Enabling flock() shared memory locking...])
+        ;;
+esac
+])
+AC_SUBST(CFLAGS)
+
 dnl the APXSCFLAGS is given by apxs to the C compiler
 dnl the APXSLDFLAGS is given to the linker (for APRVARS).
 dnl APXSLDFLAGS=""

Modified: tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml?view=diff&rev=520310&r1=520309&r2=520310
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Tue Mar 20 01:15:49 2007
@@ -26,6 +26,13 @@
   <br />
   <subsection name="Native">
     <changelog>
+      <update>
+        Apache. Add --enable-flock configure parameter for explicit
+        compilation of faster flock() system calls for OS supporting
+        those calls. By default the fcntl system call for locking will
+        be used that is a little bit slower but it can work on NFS
+        mounted volumes as well. (mturk)
+      </update>
       <fix>
         <bug>41562</bug>: Add Debug logging for read from client in ISAPI Redirector.
          Contributed by Tim Whittington. (mturk)

Modified: tomcat/connectors/trunk/jk/xdocs/webserver_howto/apache.xml
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/xdocs/webserver_howto/apache.xml?view=diff&rev=520310&r1=520309&r2=520310
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/webserver_howto/apache.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/webserver_howto/apache.xml Tue Mar 20 01:15:49 2007
@@ -869,6 +869,14 @@
 If you are sure, that your MPM is not multi-threaded, you can use "--enable-prefork"
 to force the removal of the synchronization code (thus increasing performance a bit).</td>
 </tr>
+  <tr valign="top"><td>--enable-flock</td>
+  <td>
+In case the Operating system supports flock system call use this flag to enable this
+faster locks that are implemented as system call instead emulated by GNU C library.<br/>
+However those locks does not work on NFS mounted volumes, so you can use
+"--enable-flock" during compile time to force the flocks() calls.</td>
+</tr>
+
 </table>
 <br/>
 <table>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org