From 2e18e54a838d1f06022a81f75f45278c92af7682 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Thu, 16 May 2019 15:27:36 -0700 Subject: [PATCH] Fix MinecraftServer#isMainThread (#2046) See patch notes --- ...isPrimaryThread-and-MinecraftServer-.patch | 46 +++++++++++++++++++ ...0392-Fix-CraftServer-isPrimaryThread.patch | 25 ---------- 2 files changed, 46 insertions(+), 25 deletions(-) create mode 100644 Spigot-Server-Patches/0392-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch delete mode 100644 Spigot-Server-Patches/0392-Fix-CraftServer-isPrimaryThread.patch diff --git a/Spigot-Server-Patches/0392-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0392-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch new file mode 100644 index 0000000000..a18c51274f --- /dev/null +++ b/Spigot-Server-Patches/0392-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -0,0 +1,46 @@ +From 32cdfb9500efe574a54465daca2204f8fe78d4a2 Mon Sep 17 00:00:00 2001 +From: Spottedleaf +Date: Mon, 13 May 2019 21:10:59 -0700 +Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer + isMainThread + +md_5 changed it so he could shut down the server asynchronously +from watchdog, although we have patches that prevent that type +of behavior for this exact reason. + +md_5 also placed code in PlayerConnectionUtils that would have +solved https://bugs.mojang.com/browse/MC-142590, making the change +to MinecraftServer#isMainThread irrelevant. +By reverting his change to MinecraftServer#isMainThread packet +handling that should have been handled synchronously will be handled +synchronously when the server gets shut down. + +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index 70f730996c..73ac45bf7a 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -1945,7 +1945,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant -Date: Mon, 13 May 2019 21:10:59 -0700 -Subject: [PATCH] Fix CraftServer#isPrimaryThread - -md_5 changed it so he could shut down the server asynchronously -from watchdog, although we have patches that prevent that type -of behavior for this exact reason. - -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 56e8a613e9..22d53844c5 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1663,7 +1663,7 @@ public final class CraftServer implements Server { - - @Override - public boolean isPrimaryThread() { -- return Thread.currentThread().equals(console.serverThread) || console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) -+ return Thread.currentThread().equals(console.serverThread); // Paper - Fix issues with detecting main thread properly - } - - @Override --- -2.21.0 -