Even hackier hacky hack fix for same issue with machine state.

This commit is contained in:
Florian Nücke 2016-01-02 16:16:14 +01:00
parent fb88a19e10
commit 337fed7d9c

View File

@ -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)