From be6d10355975d7435d256eddb4a966e06f1007e7 Mon Sep 17 00:00:00 2001 From: fhanik Date: Mon, 21 May 2007 09:07:25 +0000 Subject: [PATCH] remove locking from memberAdded and memberDisappeared, as it can lock with sending messages git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@540075 13f79535-47bb-0310-9956-ffa450edef68 --- .../group/interceptors/OrderInterceptor.java | 32 ++++------------------ 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java b/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java index 9bd1a7583..2e6921c72 100644 --- a/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java +++ b/java/org/apache/catalina/tribes/group/interceptors/OrderInterceptor.java @@ -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 -- 2.11.0