mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 04:31:58 +01:00
Close Plugin Class Loaders on Disable
This should close more memory leaks from /reload and disabling plugins, by closing the class loader and the jar file.
This commit is contained in:
parent
ef8ad1941f
commit
19dea1a6f7
1 changed files with 30 additions and 0 deletions
|
@ -0,0 +1,30 @@
|
||||||
|
From e4a7a489ad86b9da9571249c189003c39be8bc9d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aikar <aikar@aikar.co>
|
||||||
|
Date: Tue, 1 May 2018 21:33:35 -0400
|
||||||
|
Subject: [PATCH] Close Plugin Class Loaders on Disable
|
||||||
|
|
||||||
|
This should close more memory leaks from /reload and disabling plugins,
|
||||||
|
by closing the class loader and the jar file.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
|
index 40fd71dc..1ea695d5 100644
|
||||||
|
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
|
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
|
@@ -355,6 +355,14 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
|
for (String name : names) {
|
||||||
|
removeClass(name);
|
||||||
|
}
|
||||||
|
+ // Paper start - close Class Loader on disable
|
||||||
|
+ try {
|
||||||
|
+ loader.close();
|
||||||
|
+ } catch (IOException e) {
|
||||||
|
+ server.getLogger().log(Level.WARNING, "Error closing the Plugin Class Loader for " + plugin.getDescription().getFullName());
|
||||||
|
+ e.printStackTrace();
|
||||||
|
+ }
|
||||||
|
+ // Paper end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.17.0
|
||||||
|
|
Loading…
Reference in a new issue