Intermittent hang on /stop

This commit is contained in:
md_5 2019-04-27 21:33:07 +10:00
parent a875ee4160
commit 5736cdc559

View file

@ -4,7 +4,7 @@
public static <T extends PacketListener> void ensureMainThread(Packet<T> packet, T t0, IAsyncTaskHandler<?> iasynctaskhandler) throws CancelledPacketHandleException {
if (!iasynctaskhandler.isMainThread()) {
iasynctaskhandler.execute(() -> {
+ if (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect) return; // CraftBukkit
+ if (MinecraftServer.getServer().isStopped() || (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect)) return; // CraftBukkit, MC-142590
packet.a(t0);
});
throw CancelledPacketHandleException.INSTANCE;