diff options
author | Eike Stepper | 2011-11-17 06:26:13 +0000 |
---|---|---|
committer | Eike Stepper | 2011-11-17 06:26:13 +0000 |
commit | b77bac6afcc8951ee3e180c647d265f22507037b (patch) | |
tree | 341f3fd2d828e224c241cf1807517e38c4f04aca | |
parent | c433181bbca17c7c39bb61d58f1f900b3490df0a (diff) | |
download | cdo-b77bac6afcc8951ee3e180c647d265f22507037b.tar.gz cdo-b77bac6afcc8951ee3e180c647d265f22507037b.tar.xz cdo-b77bac6afcc8951ee3e180c647d265f22507037b.zip |
[364000] Deadlock in ManagedContainer
https://bugs.eclipse.org/bugs/show_bug.cgi?id=364000
-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 fa13fa4882..1ae7ef4e99 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 @@ -276,17 +276,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; |