tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rj...@apache.org
Subject svn commit: r552233 - in /tomcat/connectors/trunk/jk: native/common/jk_lb_worker.c xdocs/miscellaneous/changelog.xml
Date Sun, 01 Jul 2007 02:40:02 GMT
Author: rjung
Date: Sat Jun 30 19:40:02 2007
New Revision: 552233

URL: http://svn.apache.org/viewvc?view=rev&rev=552233
Log:
Fix a deadlock in the load balancer.
jk_shm_lock for multi-threaded MPMs on *nix uses two locks,
a pthread mutex for thread locking in the local process and
a fcntl for cross process locking. On Solaris the fcntl will
sporadically return with EDEADLK (although there is none!).
We still need to call jk_shm_unlock in this case,
so that we unlock the posix mutex.

Modified:
    tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
    tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml

Modified: tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c
URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c?view=diff&rev=552233&r1=552232&r2=552233
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_lb_worker.c Sat Jun 30 19:40:02 2007
@@ -766,8 +766,6 @@
        jk_log(l, JK_LOG_ERROR,
               "locking failed (errno=%d)",
               errno);
-        JK_TRACE_EXIT(l);
-        return NULL;
     }
     if (sessionid) {
         char *session = sessionid;

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=552233&r1=552232&r2=552233
==============================================================================
--- tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml (original)
+++ tomcat/connectors/trunk/jk/xdocs/miscellaneous/changelog.xml Sat Jun 30 19:40:02 2007
@@ -27,6 +27,10 @@
   <br />
   <subsection name="Native">
     <changelog>
+      <fix>
+      Load Balancer: Fix a deadlock in lb worker, which was exposed on Solaris
+      for threaded Apache MPMs. (rjung)
+      </fix>
       <update>
       Logging: handle LWP IDs as 32 Bit unsigned. Try to make
       it work, although pthread IDs are opaque. (rjung)



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


Mime
View raw message