diff options
author | Eike Stepper | 2011-11-17 06:13:46 +0000 |
---|---|---|
committer | Eike Stepper | 2011-11-17 06:13:46 +0000 |
commit | 81e9170303d7222d1ed7cc12500f58f7bb4a9c6b (patch) | |
tree | 332d24865b5b2b2e52c3726a00dd983e57591bdb | |
parent | b27855ff304d52f7f031663242c1470d20a543ca (diff) | |
download | cdo-81e9170303d7222d1ed7cc12500f58f7bb4a9c6b.tar.gz cdo-81e9170303d7222d1ed7cc12500f58f7bb4a9c6b.tar.xz cdo-81e9170303d7222d1ed7cc12500f58f7bb4a9c6b.zip |
[363997] Deadlock in ManagedContainer
https://bugs.eclipse.org/bugs/show_bug.cgi?id=363997
-rw-r--r-- | plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java index e93080a3f4..d3e5029565 100644 --- a/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java +++ b/plugins/org.eclipse.net4j.util/src/org/eclipse/net4j/util/container/ManagedContainer.java @@ -279,17 +279,19 @@ public class ManagedContainer extends Lifecycle implements IManagedContainer synchronized (elementRegistry) { element = elementRegistry.get(key); - if (element == null) - { - element = createElement(productGroup, factoryType, description); - element = postProcessElement(productGroup, factoryType, description, element); - if (activate) - { - LifecycleUtil.activate(element); - } + } - putElement(key, element); + if (element == null) + { + element = createElement(productGroup, factoryType, description); + element = postProcessElement(productGroup, factoryType, description, element); + + if (activate) + { + LifecycleUtil.activate(element); } + + putElement(key, element); } return element; |