mirror of
https://github.com/Minestom/Minestom.git
synced 2024-09-28 22:47:41 +02:00
Fixed concurrent exception when shutting down the extension manager
This commit is contained in:
parent
6f8cbeb73b
commit
ddf8cc383d
@ -19,6 +19,7 @@ import java.lang.reflect.InvocationTargetException;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.ZipFile;
|
||||
|
||||
@ -36,7 +37,7 @@ public class ExtensionManager {
|
||||
private final File dependenciesFolder = new File(extensionFolder, ".libs");
|
||||
private boolean loaded;
|
||||
|
||||
private final List<Extension> extensionList = new ArrayList<>();
|
||||
private final List<Extension> extensionList = new CopyOnWriteArrayList<>();
|
||||
private final List<Extension> immutableExtensionListView = Collections.unmodifiableList(extensionList);
|
||||
|
||||
public ExtensionManager() {
|
||||
@ -627,10 +628,6 @@ public class ExtensionManager {
|
||||
* Shutdowns all the extensions by unloading them.
|
||||
*/
|
||||
public void shutdown() {
|
||||
Iterator<Extension> extensionIterator = extensionList.iterator();
|
||||
while (extensionIterator.hasNext()) {
|
||||
final Extension extension = extensionIterator.next();
|
||||
unload(extension);
|
||||
}
|
||||
this.extensionList.forEach(extension -> unload(extension));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user