summaryrefslogtreecommitdiffstats
path: root/source/cRoot.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-07-15 22:07:38 +0200
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-07-15 22:07:38 +0200
commit2c490d42292fe2214aca27109740409eb02e1d39 (patch)
tree690d6a0a4478e2ba99f8f5526789c4aa98905ac2 /source/cRoot.cpp
parentDisabled MSVC deprecation / security warnings for external libraries - we expect them to be secure enough (diff)
downloadcuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar.gz
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar.bz2
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar.lz
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar.xz
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.tar.zst
cuberite-2c490d42292fe2214aca27109740409eb02e1d39.zip
Diffstat (limited to 'source/cRoot.cpp')
-rw-r--r--source/cRoot.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/cRoot.cpp b/source/cRoot.cpp
index 9ab923d50..ef234044f 100644
--- a/source/cRoot.cpp
+++ b/source/cRoot.cpp
@@ -162,6 +162,8 @@ void cRoot::Start()
// Deallocate stuffs
LOG("Shutting down server...");
m_Server->Shutdown(); // This waits for threads to stop and d/c clients
+ LOG("Stopping world threads...");
+ StopWorlds();
LOG("Stopping authenticator...");
m_Authenticator.Stop();
LOG("Stopping plugin manager...");
@@ -253,6 +255,18 @@ void cRoot::StartWorlds(void)
+void cRoot::StopWorlds(void)
+{
+ for( WorldMap::iterator itr = m_pState->WorldsByName.begin(); itr != m_pState->WorldsByName.end(); ++itr )
+ {
+ itr->second->StopThreads();
+ }
+}
+
+
+
+
+
void cRoot::UnloadWorlds(void)
{
for( WorldMap::iterator itr = m_pState->WorldsByName.begin(); itr != m_pState->WorldsByName.end(); ++itr )