added a bool to the world save mechanism. This should prevent it from saving 3 times at once. Hopefully thats what was causing server crashes

This commit is contained in:
Zack Piispanen 2012-01-15 17:46:38 -05:00
parent 95946ba060
commit 38011f6364
2 changed files with 13 additions and 6 deletions

View file

@ -972,9 +972,12 @@ namespace TShockAPI
void OnSaveWorld(bool resettime, HandledEventArgs e) void OnSaveWorld(bool resettime, HandledEventArgs e)
{ {
Utils.Broadcast("Saving world. Momentary lag might result from this.", Color.Red); if (!Utils.saving)
var SaveWorld = new Thread(Utils.SaveWorld); {
SaveWorld.Start(); Utils.Broadcast("Saving world. Momentary lag might result from this.", Color.Red);
var SaveWorld = new Thread(Utils.SaveWorld);
SaveWorld.Start();
}
e.Handled = true; e.Handled = true;
} }

View file

@ -29,6 +29,8 @@ namespace TShockAPI
{ {
public class Utils public class Utils
{ {
public static bool saving = false;
public Utils() public Utils()
{ {
} }
@ -110,9 +112,11 @@ namespace TShockAPI
/// </summary> /// </summary>
public void SaveWorld() public void SaveWorld()
{ {
WorldGen.realsaveWorld(); saving = true;
Broadcast("World saved.", Color.Yellow); WorldGen.realsaveWorld();
Log.Info(string.Format("World saved at ({0})", Main.worldPathName)); Broadcast("World saved.", Color.Yellow);
Log.Info(string.Format("World saved at ({0})", Main.worldPathName));
saving = false;
} }
/// <summary> /// <summary>