Deprecate API methods added by 'Close Plugin Class Loaders on Disable' (#6737)

This commit is contained in:
Jason 2021-10-06 23:00:32 -05:00 committed by GitHub
parent a4199412fc
commit 8e661c6b6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 95 deletions

View file

@ -16,7 +16,7 @@ which results in a hard crash.
This change removes the synchronize and adds some protection around enable/disable
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index 892ec4b43cc97a235df0819d30391a8a3770cbcb..b83637f872be5fc73500b10c917d71802976b340 100644
index 7867243a8ed67416895cdcd949ac424f5d29d98b..a3027c1c6109bcb20d0468f6d0cd37182bb279ea 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -462,7 +462,7 @@ public final class SimplePluginManager implements PluginManager {
@ -37,16 +37,16 @@ index 892ec4b43cc97a235df0819d30391a8a3770cbcb..b83637f872be5fc73500b10c917d7180
if (!plugin.isEnabled()) {
List<Command> pluginCommands = PluginCommandYamlParser.parse(plugin);
@@ -509,7 +509,7 @@ public final class SimplePluginManager implements PluginManager {
}
@@ -514,7 +514,7 @@ public final class SimplePluginManager implements PluginManager {
// Paper end
@Override
- public void disablePlugin(@NotNull final Plugin plugin, boolean closeClassloader) {
+ public synchronized void disablePlugin(@NotNull final Plugin plugin, boolean closeClassloader) { // Paper - synchronize
// Paper end - close Classloader on disable
- public void disablePlugin(@NotNull final Plugin plugin) {
+ public synchronized void disablePlugin(@NotNull final Plugin plugin) { // Paper - synchronize
if (plugin.isEnabled()) {
try {
@@ -579,6 +579,7 @@ public final class SimplePluginManager implements PluginManager {
plugin.getPluginLoader().disablePlugin(plugin);
@@ -583,6 +583,7 @@ public final class SimplePluginManager implements PluginManager {
defaultPerms.get(false).clear();
}
}
@ -54,7 +54,7 @@ index 892ec4b43cc97a235df0819d30391a8a3770cbcb..b83637f872be5fc73500b10c917d7180
/**
* Calls an event with the given details.
@@ -587,23 +588,13 @@ public final class SimplePluginManager implements PluginManager {
@@ -591,23 +592,13 @@ public final class SimplePluginManager implements PluginManager {
*/
@Override
public void callEvent(@NotNull Event event) {