From 4c5590636cf4a311f03e735878557b1e7b3362dd Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Sun, 11 Aug 2013 20:16:41 +0200 Subject: Each world now ticks in a separate thread. --- source/WorldStorage/WorldStorage.cpp | 9 +++++++++ source/WorldStorage/WorldStorage.h | 1 + 2 files changed, 10 insertions(+) (limited to 'source/WorldStorage') diff --git a/source/WorldStorage/WorldStorage.cpp b/source/WorldStorage/WorldStorage.cpp index 8b055b240..7ff5ae8e8 100644 --- a/source/WorldStorage/WorldStorage.cpp +++ b/source/WorldStorage/WorldStorage.cpp @@ -84,6 +84,15 @@ bool cWorldStorage::Start(cWorld * a_World, const AString & a_StorageSchemaName) +void cWorldStorage::Stop(void) +{ + WaitForFinish(); +} + + + + + void cWorldStorage::WaitForFinish(void) { LOG("Waiting for the world storage to finish saving"); diff --git a/source/WorldStorage/WorldStorage.h b/source/WorldStorage/WorldStorage.h index 064b2ffaf..bf8dbd3d5 100644 --- a/source/WorldStorage/WorldStorage.h +++ b/source/WorldStorage/WorldStorage.h @@ -75,6 +75,7 @@ public: void UnqueueSave(const cChunkCoords & a_Chunk); bool Start(cWorld * a_World, const AString & a_StorageSchemaName); // Hide the cIsThread's Start() method, we need to provide args + void Stop(void); // Hide the cIsThread's Stop() method, we need to signal the event void WaitForFinish(void); void WaitForQueuesEmpty(void); -- cgit v1.2.3