From 1f5ddf73babdacbfb4e46c82fa05b9691dbf5a73 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 9 Nov 2018 21:45:16 +0000 Subject: [PATCH] Cleanup after plugins which don't sucessfully enable This change closes the plugin via the plugin manager, which disables the plugin, as intended, but also cleans up after the plugin, preventing any further errors or issues caused by tasks scheduled by the plugin before it failed. --- .../Close-Plugin-Class-Loaders-on-Disable.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch b/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch index 5bbe7de44..f24b3dcd7 100644 --- a/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch +++ b/Spigot-API-Patches/Close-Plugin-Class-Loaders-on-Disable.patch @@ -7,7 +7,7 @@ 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/PluginLoader.java b/src/main/java/org/bukkit/plugin/PluginLoader.java -index e7981a1d..d34756f1 100644 +index e7981a1d9..d34756f15 100644 --- a/src/main/java/org/bukkit/plugin/PluginLoader.java +++ b/src/main/java/org/bukkit/plugin/PluginLoader.java @@ -0,0 +0,0 @@ public interface PluginLoader { @@ -31,7 +31,7 @@ index e7981a1d..d34756f1 100644 + // Paper end - close Classloader on disable } diff --git a/src/main/java/org/bukkit/plugin/PluginManager.java b/src/main/java/org/bukkit/plugin/PluginManager.java -index e5638d56..b72d5a9b 100644 +index e5638d560..b72d5a9bc 100644 --- a/src/main/java/org/bukkit/plugin/PluginManager.java +++ b/src/main/java/org/bukkit/plugin/PluginManager.java @@ -0,0 +0,0 @@ public interface PluginManager { @@ -54,7 +54,7 @@ index e5638d56..b72d5a9b 100644 * Gets a {@link Permission} from its fully qualified name * diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java -index bd0588a2..cb2b0b9c 100644 +index bd0588a20..cb2b0b9cb 100644 --- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java +++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java @@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager { @@ -100,7 +100,7 @@ index bd0588a2..cb2b0b9c 100644 lookupNames.clear(); HandlerList.unregisterAll(); diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 72d506d1..3cff01b6 100644 +index 72d506d1f..3411a365c 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -0,0 +0,0 @@ public final class JavaPluginLoader implements PluginLoader { @@ -108,7 +108,7 @@ index 72d506d1..3cff01b6 100644 server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex); // Paper start - Disable plugins that fail to load - disablePlugin(jPlugin); -+ disablePlugin(jPlugin, true); // Paper - close Classloader on disable - She's dead jim ++ server.getPluginManager().disablePlugin(jPlugin, true); // Paper - close Classloader on disable - She's dead jim return; // Paper end }