Upstream Paper w/ Removes termination config
This commit is contained in:
@@ -16,6 +16,7 @@ import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import io.akarin.api.Akari;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class AkarinGlobalConfig {
|
||||
|
||||
private static File CONFIG_FILE;
|
||||
@@ -153,11 +154,6 @@ public class AkarinGlobalConfig {
|
||||
legacyVersioningCompat = getBoolean("alternative.legacy-versioning-compat", false);
|
||||
}
|
||||
|
||||
public static int registryTerminationSeconds;
|
||||
private static void registryTerminationSeconds() {
|
||||
registryTerminationSeconds = getSeconds(getString("bootstrap.parallel-registry-termination", "9s"));
|
||||
}
|
||||
|
||||
public static int playersPerIOThread;
|
||||
private static void playersPerIOThread() {
|
||||
playersPerIOThread = getInt("core.players-per-chunk-io-thread", 50);
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
import io.akarin.api.Akari;
|
||||
import io.akarin.server.core.AkarinGlobalConfig;
|
||||
import net.minecraft.server.BiomeBase;
|
||||
import net.minecraft.server.Block;
|
||||
import net.minecraft.server.BlockFire;
|
||||
@@ -40,8 +39,6 @@ public class ParallelRegistry {
|
||||
*/
|
||||
private static final ExecutorService STAGE_STANDALONE = Executors.newFixedThreadPool(3, Akari.STAGE_FACTORY);
|
||||
|
||||
private static final int TERMINATION_IN_SEC = AkarinGlobalConfig.registryTerminationSeconds;
|
||||
|
||||
// We should keep the original order in codes thought orderless in runtime
|
||||
@Redirect(method = "c()V", at = @At(
|
||||
value = "INVOKE",
|
||||
@@ -131,11 +128,11 @@ public class ParallelRegistry {
|
||||
// Shutdown BLOCK and STANDALONE stage
|
||||
STAGE_STANDALONE.shutdown();
|
||||
STAGE_BLOCK.shutdown();
|
||||
STAGE_BLOCK.awaitTermination(TERMINATION_IN_SEC, TimeUnit.SECONDS);
|
||||
STAGE_BLOCK.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
|
||||
|
||||
STAGE_BLOCK_BASE.shutdown(); // This must after STAGE_BLOCK terminated
|
||||
STAGE_BLOCK_BASE.awaitTermination(TERMINATION_IN_SEC, TimeUnit.SECONDS);
|
||||
STAGE_BLOCK_BASE.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS);
|
||||
|
||||
STAGE_STANDALONE.awaitTermination(TERMINATION_IN_SEC, TimeUnit.SECONDS); // Behind the shutdown of BLOCK_BASE should faster
|
||||
STAGE_STANDALONE.awaitTermination(Long.MAX_VALUE, TimeUnit.SECONDS); // Behind the shutdown of BLOCK_BASE should faster
|
||||
}
|
||||
}
|
||||
|
||||
Submodule work/Paper updated: 88d8c2594e...15bd1f642b
Reference in New Issue
Block a user