f44d237de9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 5be41fb8 SPIGOT-6720: Fix bed explosion checks 09b99daf SPIGOT-6722: Close entity manager when unloading world 3a9561bf SPIGOT-6686: Changes in MaximumRepairCost for Anvil Rename cause inconsistency
44 Zeilen
2.3 KiB
Diff
44 Zeilen
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 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 8415342e178ab61660321570454815eb418b5282..a2d93627dd241e05699ef5a4b52d0efa3a09a51f 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -2279,7 +2279,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
// CraftBukkit start
|
|
@Override
|
|
public boolean isSameThread() {
|
|
- return super.isSameThread() || this.isStopped(); // CraftBukkit - MC-142590
|
|
+ return super.isSameThread() /*|| this.isStopped()*/; // CraftBukkit - MC-142590 // Paper - causes issues elsewhere
|
|
}
|
|
|
|
public boolean isDebugging() {
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index 0d2f6680af8a678b4b07a6a3ba809128c69563e7..46a1c05f3321ddf34efc4f5fb6b607188a8c4939 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -1982,7 +1982,7 @@ public final class CraftServer implements Server {
|
|
|
|
@Override
|
|
public boolean isPrimaryThread() {
|
|
- return Thread.currentThread().equals(console.serverThread) || this.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
|
|
}
|
|
|
|
// Paper start
|