Paper/Spigot-Server-Patches/0387-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch
Zach Brown dafc3dbcd5
Update upstream B/CB/S
--- work/Bukkit
Submodule work/Bukkit aba2aaaf..949124e0:
  > SPIGOT-5121: Method to set PierceLevel of arrows

--- work/CraftBukkit
Submodule work/CraftBukkit c6997924..bf329334:
  > SPIGOT-5133: Throwing items into secondary end world portal causes crash
  > SPIGOT-5121: Method to set PierceLevel of arrows
  > SPIGOT-5122: Skip world#notify if sign has no world.
  > SPIGOT-5105: The EntityTag nbt tag disappears from preset armor_stand items.
  > SPIGOT-5106: Config option to prevent plugins with incompatible API's from loading

--- work/Spigot
Submodule work/Spigot 595711b0..935adb34:
  > SPIGOT-5088: Additional growth modifiers
2019-07-01 23:51:06 -05:00

47 lines
2.2 KiB
Diff

From e37ae76273ff0def648ceccd3ee73b7c1f6218ee Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
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 55e8db8a0..8136a97f4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1943,7 +1943,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
// CraftBukkit start
@Override
public boolean isMainThread() {
- return super.isMainThread() || this.isStopped(); // CraftBukkit - MC-142590
+ return super.isMainThread() /*|| this.isStopped()*/; // CraftBukkit - MC-142590 // Paper - causes issues elsewhere
}
@Deprecated
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9f68ec82c..3107f1beb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1661,7 +1661,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.22.0