You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by sc...@apache.org on 2012/11/05 14:56:41 UTC
svn commit: r1405792 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
Author: schans
Date: Mon Nov 5 13:56:40 2012
New Revision: 1405792
URL: http://svn.apache.org/viewvc?rev=1405792&view=rev
Log:
JCR-3455: Events should be dispatched after the global cluster lock is freed in the SharedItemStateManager
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java?rev=1405792&r1=1405791&r2=1405792&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java Mon Nov 5 13:56:40 2012
@@ -826,8 +826,6 @@ public class SharedItemStateManager
}
}
- /* dispatch the events */
- events.dispatch();
} finally {
// Let listener know about finished operation. This needs
// to happen in the finally block so that the cluster lock
@@ -844,8 +842,16 @@ public class SharedItemStateManager
writeLock.release();
writeLock = null;
} else if (readLock != null) {
- readLock.release();
+ try {
+ if (succeeded) {
+ /* dispatch the events */
+ events.dispatch();
+ }
+ } finally {
+ readLock.release();
+ }
}
+
}
}