9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-26 18:49:06 +00:00

More shutdown fixes

This commit is contained in:
cyberpwn
2021-08-18 14:08:43 -04:00
parent 059d5542c9
commit 5286a69c34
4 changed files with 47 additions and 37 deletions

View File

@@ -37,7 +37,6 @@ public class EditSVC implements IrisService {
@Override
public void onEnable() {
this.editors = new KMap<>();
Iris.info("EDIT SVC ENABLED!");
Bukkit.getScheduler().scheduleSyncRepeatingTask(Iris.instance, this::update, 1000, 1000);
}

View File

@@ -74,52 +74,53 @@ public class PreservationSVC implements IrisService
@Override
public void onDisable() {
dereferencer.interrupt();
dereference();
for(Thread i : threads)
{
if(i.isAlive())
postShutdown(() -> {
for(Thread i : threads)
{
if(i.isAlive())
{
try
{
i.interrupt();
Iris.info("Shutdown Thread " + i.getName());
}
catch(Throwable e)
{
Iris.reportError(e);
}
}
}
for(MultiBurst i : bursts)
{
try
{
i.interrupt();
Iris.info("Shutdown Thread " + i.getName());
i.shutdownNow();
Iris.info("Shutdown Multiburst " + i);
}
catch(Throwable e)
{
Iris.reportError(e);
}
}
}
for(MultiBurst i : bursts)
{
try
for(ExecutorService i : services)
{
i.shutdownNow();
Iris.info("Shutdown Multiburst " + i);
try
{
i.shutdownNow();
Iris.info("Shutdown Executor Service " + i);
}
catch(Throwable e)
{
Iris.reportError(e);
}
}
catch(Throwable e)
{
}
}
for(ExecutorService i : services)
{
try
{
i.shutdownNow();
Iris.info("Shutdown Executor Service " + i);
}
catch(Throwable e)
{
}
}
dereference();
});
}
}

View File

@@ -29,6 +29,7 @@ import com.volmit.iris.engine.framework.WrongEngineBroException;
import com.volmit.iris.engine.object.common.IrisWorld;
import com.volmit.iris.engine.object.dimensional.IrisDimension;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.format.C;
import com.volmit.iris.util.hunk.Hunk;
import com.volmit.iris.util.io.ReactiveFolder;
import com.volmit.iris.util.scheduling.ChronoLatch;
@@ -161,7 +162,7 @@ public class BukkitChunkGenerator extends ChunkGenerator implements PlatformChun
r.run();
loadLock.release(LOAD_LOCKS);
} catch (Throwable e) {
e.printStackTrace();
Iris.reportError(e);
}
});
}

View File

@@ -207,7 +207,16 @@ public class Mantle {
});
}
b.complete();
try
{
b.complete();
}
catch(Throwable e)
{
Iris.reportError(e);
}
ioBurst.shutdownNow();
Iris.debug("The Mantle has Closed " + C.DARK_AQUA + dataFolder.getAbsolutePath());
}