Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2011-05-06 06:08:11 +0000
committerEike Stepper2011-05-06 06:08:11 +0000
commit8501c618e2856aae6596b489a3b814fe84ab0801 (patch)
treee01f10f26d530d6086412adbc5aceabb1982b94f
parentac8d71cd63d03946e092988e1b80d6c9b41aea2c (diff)
downloadcdo-8501c618e2856aae6596b489a3b814fe84ab0801.tar.gz
cdo-8501c618e2856aae6596b489a3b814fe84ab0801.tar.xz
cdo-8501c618e2856aae6596b489a3b814fe84ab0801.zip
[341995] ConcurrentModificationException on commit while holding a write lock
https://bugs.eclipse.org/bugs/show_bug.cgi?id=341995
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
index 4b76dbf6e3..ab72e4d908 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/transaction/CDOTransactionImpl.java
@@ -2769,7 +2769,9 @@ public class CDOTransactionImpl extends CDOViewImpl implements InternalCDOTransa
{
try
{
- for (CDOConflictResolver resolver : getConflictResolvers())
+ // Do not call getConflictResolvers() because that method may block!
+ CDOConflictResolver[] array = conflictResolvers.toArray(new CDOConflictResolver[conflictResolvers.size()]);
+ for (CDOConflictResolver resolver : array)
{
try
{

Back to the top