remove locking from memberAdded and memberDisappeared, as it can lock with sending...
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 21 May 2007 09:07:25 +0000 (09:07 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 21 May 2007 09:07:25 +0000 (09:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@540075 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java

index 9bd1a75..2e6921c 100644 (file)
@@ -162,37 +162,17 @@ public class OrderInterceptor extends ChannelInterceptorBase {
     }
     
     public void memberAdded(Member member) {
-        //reset counters
-        try {
-            inLock.writeLock().lock();
-            getInCounter(member);
-        }finally {
-            inLock.writeLock().unlock();
-        }
-        try {
-            outLock.writeLock().lock();
-            getOutCounter(member);
-        }finally {
-            outLock.writeLock().unlock();
-        }
+        //reset counters - lock free
+        getInCounter(member);
+        getOutCounter(member);
         //notify upwards
         super.memberAdded(member);
     }
 
     public void memberDisappeared(Member member) {
-        //reset counters
-        try {
-            inLock.writeLock().lock();
-            incounter.remove(member);
-        }finally {
-            inLock.writeLock().unlock();
-        }
-        try {
-            outLock.writeLock().lock();
-            outcounter.remove(member);
-        }finally {
-            outLock.writeLock().unlock();
-        }
+        //reset counters - lock free
+        incounter.remove(member);
+        outcounter.remove(member);
         //clear the remaining queue
         processLeftOvers(member,true);
         //notify upwards