Author: kfujino
Date: Wed Jan 28 06:02:29 2015
New Revision: 1655223

URL: http://svn.apache.org/r1655223
Log:
Fix a possible deadlock when receiver thread invokes mapMemberAdded() while 
ping thread invokes memberAlive().

Modified:
    
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
    tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1655223&r1=1655222&r2=1655223&view=diff
==============================================================================
--- 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 (original)
+++ 
tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
 Wed Jan 28 06:02:29 2015
@@ -293,10 +293,8 @@ public abstract class AbstractReplicated
      * @param member Member
      */
     protected void memberAlive(Member member) {
+        mapMemberAdded(member);
         synchronized (mapMembers) {
-            if (!mapMembers.containsKey(member)) {
-                mapMemberAdded(member);
-            } //end if
             mapMembers.put(member, new Long(System.currentTimeMillis()));
         }
     }

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1655223&r1=1655222&r2=1655223&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Jan 28 06:02:29 2015
@@ -82,6 +82,15 @@
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Tribes">
+    <changelog>
+      <fix>
+        Fix a possible deadlock when receiver thread invokes
+        <code>mapMemberAdded()</code> while ping thread invokes
+        <code>memberAlive()</code>. (kfujino)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="Other">
     <changelog>
       <fix>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to