mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-12-03 08:05:02 +01:00
2b156e3c9c
Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Tuinity Changes: abeafb0 Updated Upstream (Paper) Origami Changes: e204bb8 Update Paper Purpur Changes: c7b279f Updated Upstream (Paper & Tuinity)
45 lines
2.7 KiB
Diff
45 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ivan Pekov <ivan@mrivanplays.com>
|
|
Date: Mon, 5 Oct 2020 17:09:00 +0300
|
|
Subject: [PATCH] Ensure pools create daemon threads
|
|
|
|
If only 1 non-daemon thread is left to run when the server is shutting down, the server won't shut down.
|
|
This patche ensures that executors make daemon threads.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
|
index bb45fc83d81948c84bc721961474e5e806ab404a..847122f76f6d951b24b22c86276140e02aaf37d6 100644
|
|
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
|
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
|
@@ -108,7 +108,11 @@ public class LoginListener implements PacketLoginInListener {
|
|
// Paper start - Cache authenticator threads
|
|
private static final AtomicInteger threadId = new AtomicInteger(0);
|
|
private static final java.util.concurrent.ExecutorService authenticatorPool = java.util.concurrent.Executors.newCachedThreadPool(
|
|
- r -> new Thread(r, "User Authenticator #" + threadId.incrementAndGet())
|
|
+ r -> { // Yatopia start - make sure produced threads are daemon ones
|
|
+ Thread thread = new Thread(r, "User Authenticator #" + threadId.incrementAndGet());
|
|
+ thread.setDaemon(true);
|
|
+ return thread;
|
|
+ } // Yatopia end
|
|
);
|
|
// Paper end
|
|
// Spigot start
|
|
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
|
index 653ba0f1d84af1997d768426d3542c9d465f6c93..748742fb03c6066a72ac6046a96e8d9f8fad2694 100644
|
|
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
|
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
|
@@ -42,12 +42,12 @@ public final class MCUtil {
|
|
public static final ThreadPoolExecutor asyncExecutor = new ThreadPoolExecutor(
|
|
0, 2, 60L, TimeUnit.SECONDS,
|
|
new LinkedBlockingQueue<Runnable>(),
|
|
- new ThreadFactoryBuilder().setNameFormat("Paper Async Task Handler Thread - %1$d").build()
|
|
+ new ThreadFactoryBuilder().setDaemon(true).setNameFormat("Paper Async Task Handler Thread - %1$d").build() // Yatopia - daemon
|
|
);
|
|
public static final ThreadPoolExecutor cleanerExecutor = new ThreadPoolExecutor(
|
|
1, 1, 0L, TimeUnit.SECONDS,
|
|
new LinkedBlockingQueue<Runnable>(),
|
|
- new ThreadFactoryBuilder().setNameFormat("Paper Object Cleaner").build()
|
|
+ new ThreadFactoryBuilder().setDaemon(true).setNameFormat("Paper Object Cleaner").build() // Yatopia - daemon
|
|
);
|
|
|
|
public static final long INVALID_CHUNK_KEY = getCoordinateKey(Integer.MAX_VALUE, Integer.MAX_VALUE);
|