diff options
author | rubidium <rubidium@openttd.org> | 2011-04-22 16:09:46 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2011-04-22 16:09:46 +0000 |
commit | 75b87c554f140be0b94358d66deeffed116621b2 (patch) | |
tree | b6b3ad09138a3eafcb04a53d81278df000de7f24 /src/saveload | |
parent | ce91f6b45ea207ae7d1d0983bb02ea061e28dad0 (diff) | |
download | openttd-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.cpp | 3 |
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(); } /** |