diff options
author | Stephan Herrmann | 2012-08-12 14:47:31 +0000 |
---|---|---|
committer | Stephan Herrmann | 2012-08-12 14:47:31 +0000 |
commit | 78c656fd50edec1a381e0111e71ccffab68247b9 (patch) | |
tree | 1f6b505bf839e244189c8283fd23cad44089c592 /org.eclipse.jdt.core/model | |
parent | 1e43775b4d6a2716d8ba3cdc83ad8f6111a1107d (diff) | |
download | org.eclipse.objectteams-78c656fd50edec1a381e0111e71ccffab68247b9.tar.gz org.eclipse.objectteams-78c656fd50edec1a381e0111e71ccffab68247b9.tar.xz org.eclipse.objectteams-78c656fd50edec1a381e0111e71ccffab68247b9.zip |
Prevent ConcurrentModificationError seen in the logs.
Diffstat (limited to 'org.eclipse.jdt.core/model')
-rw-r--r-- | org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/OTJavaElement.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/OTJavaElement.java b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/OTJavaElement.java index f98ab684c..90553a3f3 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/OTJavaElement.java +++ b/org.eclipse.jdt.core/model/org/eclipse/objectteams/otdt/internal/core/OTJavaElement.java @@ -101,19 +101,21 @@ public abstract class OTJavaElement extends Member implements IOTJavaElement public void addChild(IOTJavaElement child) { if (child != null) - { - this.children.add(child); - } + synchronized (this.children) { + this.children.add(child); + } } protected void compactChildren(IOTJavaElement child) { // FIXME(SH): performance etc. int count = 0; - Iterator it = this.children.iterator(); - while (it.hasNext()) { - if (it.next().equals(child)) { - if (++count > 1) - it.remove(); + synchronized (this.children) { + Iterator it = this.children.iterator(); + while (it.hasNext()) { + if (it.next().equals(child)) { + if (++count > 1) + it.remove(); + } } } } |