You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/03/25 23:57:29 UTC
svn commit: r1581575 -
/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
Author: markt
Date: Tue Mar 25 22:57:29 2014
New Revision: 1581575
URL: http://svn.apache.org/r1581575
Log:
Lock ouside try/catch/finally
Modified:
tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=1581575&r1=1581574&r2=1581575&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Tue Mar 25 22:57:29 2014
@@ -602,13 +602,13 @@ public class DeltaManager extends Cluste
*/
protected DeltaRequest deserializeDeltaRequest(DeltaSession session, byte[] data)
throws ClassNotFoundException, IOException {
+ session.lock();
try {
- session.lock();
ReplicationStream ois = getReplicationStream(data);
session.getDeltaRequest().readExternal(ois);
ois.close();
return session.getDeltaRequest();
- }finally {
+ } finally {
session.unlock();
}
}
@@ -623,10 +623,10 @@ public class DeltaManager extends Cluste
*/
protected byte[] serializeDeltaRequest(DeltaSession session, DeltaRequest deltaRequest)
throws IOException {
+ session.lock();
try {
- session.lock();
return deltaRequest.serialize();
- }finally {
+ } finally {
session.unlock();
}
}
@@ -1116,7 +1116,7 @@ public class DeltaManager extends Cluste
log.error(sm.getString("deltaManager.createMessage.unableCreateDeltaRequest",
sessionId), x);
return null;
- }finally {
+ } finally {
if (session!=null) session.unlock();
}
@@ -1354,12 +1354,12 @@ public class DeltaManager extends Cluste
log.debug(sm.getString("deltaManager.receiveMessage.delta",
getName(), msg.getSessionID()));
}
+ session.lock();
try {
- session.lock();
DeltaRequest dreq = deserializeDeltaRequest(session, delta);
dreq.execute(session, isNotifyListenersOnReplication());
session.setPrimarySession(false);
- }finally {
+ } finally {
session.unlock();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org