Skip to content

Commit

Permalink
Concurrent exception
Browse files Browse the repository at this point in the history
Running inject & getServices in parallel caused a Concurrent Modification Exception

---
 Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>

Signed-off-by: Peter Kriens <Peter.Kriens@aQute.biz>
  • Loading branch information
pkriens committed Nov 7, 2022
1 parent 14fe674 commit e9ffa01
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion biz.aQute.launchpad/src/aQute/launchpad/Launchpad.java
Expand Up @@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
Expand Down Expand Up @@ -96,7 +97,7 @@ public class Launchpad implements AutoCloseable {
final List<ServiceTracker<?, ?>> trackers = new ArrayList<>();
final List<FrameworkEvent> frameworkEvents = new CopyOnWriteArrayList<>();
final Injector<Service> injector;
final Map<Class<?>, ServiceTracker<?, ?>> injectedDoNotClose = new HashMap<>();
final Map<Class<?>, ServiceTracker<?, ?>> injectedDoNotClose = new ConcurrentHashMap<>();
final Set<String> frameworkExports;
final List<String> errors = new ArrayList<>();
final String name;
Expand Down

0 comments on commit e9ffa01

Please sign in to comment.