diff --git a/Spigot-Server-Patches/Improved-Watchdog-Support.patch b/Spigot-Server-Patches/Improved-Watchdog-Support.patch index 0851dafba5..3f0a4a8c9f 100644 --- a/Spigot-Server-Patches/Improved-Watchdog-Support.patch +++ b/Spigot-Server-Patches/Improved-Watchdog-Support.patch @@ -128,12 +128,23 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + shutdownThread = Thread.currentThread(); hasStopped = true; + org.spigotmc.WatchdogThread.doStop(); // Paper ++ // Paper start - kill main thread, and kill it hard + if (!isMainThread()) { -+ this.getThread().stop(); ++ while (this.getThread().isAlive()) { ++ this.getThread().stop(); ++ try { ++ Thread.sleep(1); ++ } catch (InterruptedException e) {} ++ } + } ++ // Paper end } // CraftBukkit end - MinecraftServer.LOGGER.info("Stopping server"); +- MinecraftServer.LOGGER.info("Stopping server"); ++ MinecraftServer.LOGGER.info("Stopping server (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)"); // Paper + MinecraftTimings.stopServer(); // Paper + // CraftBukkit start + if (this.server != null) { @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant