9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-23 17:09:29 +00:00

Don't leave virtual threads in async scheduler thread pool

This commit is contained in:
Dreeam
2024-10-12 09:50:56 -04:00
parent eadbbc2349
commit cca44728e7

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Virtual Thread for async scheduler
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
index 3c1992e212a6d6f1db4d5b807b38d71913619fc0..e9168902552cc6640db3a432dbd9e695f2e3ec9c 100644
index 3c1992e212a6d6f1db4d5b807b38d71913619fc0..4975fde71785a86dc812829f640ec2742d7d6fba 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
@@ -38,17 +38,40 @@ import java.util.concurrent.TimeUnit;
@@ -29,7 +29,7 @@ index 3c1992e212a6d6f1db4d5b807b38d71913619fc0..e9168902552cc6640db3a432dbd9e695
+ // Leaf start - Ability to use Virtual Thread for async scheduler
+ if (org.dreeam.leaf.config.modules.opt.VT4BukkitScheduler.enabled) {
+ executor = new ThreadPoolExecutor(
+ 4, Integer.MAX_VALUE, 10L, TimeUnit.SECONDS, new SynchronousQueue<>(), // Use 10s for keepalive time
+ 0, Integer.MAX_VALUE, 10L, TimeUnit.SECONDS, new SynchronousQueue<>(), // Use 10s for keepalive time
+ Thread.ofVirtual()
+ .name("Craft Scheduler Thread - ", 0)
+ .uncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER))