From 337fed7d9cebc50e94cba4772f3622adbd70e64f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sat, 2 Jan 2016 16:16:14 +0100 Subject: [PATCH] Even hackier hacky hack fix for same issue with machine state. --- src/main/scala/li/cil/oc/server/machine/Machine.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/server/machine/Machine.scala b/src/main/scala/li/cil/oc/server/machine/Machine.scala index 8eca7a6c0..6869309a6 100644 --- a/src/main/scala/li/cil/oc/server/machine/Machine.scala +++ b/src/main/scala/li/cil/oc/server/machine/Machine.scala @@ -5,7 +5,6 @@ import java.util.concurrent.TimeUnit import li.cil.oc.OpenComputers import li.cil.oc.Settings import li.cil.oc.api.Driver -import li.cil.oc.api.FileSystem import li.cil.oc.api.Network import li.cil.oc.api.detail.MachineAPI import li.cil.oc.api.driver.item.CallBudget @@ -30,6 +29,7 @@ import li.cil.oc.common.Slot import li.cil.oc.common.tileentity import li.cil.oc.server.PacketSender import li.cil.oc.server.driver.Registry +import li.cil.oc.server.fs.FileSystem import li.cil.oc.util.ExtendedNBT._ import li.cil.oc.util.ResultWrapper.result import li.cil.oc.util.ThreadPoolFactory @@ -730,6 +730,10 @@ class Machine(val host: MachineHost) extends prefab.ManagedEnvironment with mach override def save(nbt: NBTTagCompound): Unit = Machine.this.synchronized(state.synchronized { assert(!isExecuting) // Lock on 'this' should guarantee this. + if (FileSystem.savingForClients) { + return + } + // Make sure we don't continue running until everything has saved. pause(0.05)