You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2011/09/06 13:26:33 UTC

svn commit: r1165609 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java

Author: mreutegg
Date: Tue Sep  6 11:26:33 2011
New Revision: 1165609

URL: http://svn.apache.org/viewvc?rev=1165609&view=rev
Log:
JCR-3065: ConcurrentModificationException in FineGrainedISMLocking

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java?rev=1165609&r1=1165608&r2=1165609&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/FineGrainedISMLocking.java Tue Sep  6 11:26:33 2011
@@ -385,9 +385,11 @@ public class FineGrainedISMLocking imple
             }
             for (int i = 0; i < slots.length; i++) {
                 Map<ItemId, Integer> locks = slots[i];
-                for (ItemId id : locks.keySet()) {
-                    if (FineGrainedISMLocking.hasDependency(changes, id)) {
-                        return true;
+                synchronized (locks) {
+                    for (ItemId id : locks.keySet()) {
+                        if (FineGrainedISMLocking.hasDependency(changes, id)) {
+                            return true;
+                        }
                     }
                 }
             }