summaryrefslogtreecommitdiff
path: root/src/saveload
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-04-22 16:09:46 +0000
committerrubidium <rubidium@openttd.org>2011-04-22 16:09:46 +0000
commit75b87c554f140be0b94358d66deeffed116621b2 (patch)
treeb6b3ad09138a3eafcb04a53d81278df000de7f24 /src/saveload
parentce91f6b45ea207ae7d1d0983bb02ea061e28dad0 (diff)
downloadopenttd-75b87c554f140be0b94358d66deeffed116621b2.tar.xz
(svn r22371) -Fix [FS#4596]: make sure saving has completely and utterly finished before starting a new one. Otherwise you could start a save, which would be marked as done by the previous save stopping and then yet another save could be started... and that could create a deadlock
Diffstat (limited to 'src/saveload')
-rw-r--r--src/saveload/saveload.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp
index 3c7700e93..11d49297e 100644
--- a/src/saveload/saveload.cpp
+++ b/src/saveload/saveload.cpp
@@ -2420,6 +2420,9 @@ void WaitTillSaved()
_save_thread->Join();
delete _save_thread;
_save_thread = NULL;
+
+ /* Make sure every other state is handled properly as well. */
+ ProcessAsyncSaveFinish();
}
/**