diff options
author | Mattes D <github@xoft.cz> | 2015-04-05 17:07:10 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2015-04-05 17:07:29 +0200 |
commit | 31953b19b805facde2114855563540a81bf9bdd8 (patch) | |
tree | 84c3befb8a2ebfc6968ccb4fa223ad39c832543f /src/main.cpp | |
parent | Merge pull request #1847 from mc-server/DumpInfoFix (diff) | |
download | cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar.gz cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar.bz2 cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar.lz cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar.xz cuberite-31953b19b805facde2114855563540a81bf9bdd8.tar.zst cuberite-31953b19b805facde2114855563540a81bf9bdd8.zip |
Diffstat (limited to '')
-rw-r--r-- | src/main.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/main.cpp b/src/main.cpp index da8eb75d4..80e457b54 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,8 +15,6 @@ -/** Make the Root instance global, so it can be terminated from the worker threads */ -cRoot Root; /** If something has told the server to stop; checked periodically in cRoot */ @@ -35,14 +33,20 @@ bool g_ShouldLogCommOut; bool cRoot::m_RunAsService = false; + + + #if defined(_WIN32) -SERVICE_STATUS_HANDLE g_StatusHandle = NULL; -HANDLE g_ServiceThread = INVALID_HANDLE_VALUE; -#define SERVICE_NAME "MCServerService" + SERVICE_STATUS_HANDLE g_StatusHandle = NULL; + HANDLE g_ServiceThread = INVALID_HANDLE_VALUE; + #define SERVICE_NAME "MCServerService" #endif -/// If defined, a thorough leak finder will be used (debug MSVC only); leaks will be output to the Output window + + + +/** If defined, a thorough leak finder will be used (debug MSVC only); leaks will be output to the Output window */ // _X 2014_02_20: Disabled for canon repo, it makes the debug version too slow in MSVC2013 // and we haven't had a memory leak for over a year anyway. // #define ENABLE_LEAK_FINDER @@ -169,6 +173,7 @@ LONG WINAPI LastChanceExceptionFilter(__in struct _EXCEPTION_POINTERS * a_Except + #ifdef _WIN32 // Handle CTRL events in windows, including console window close BOOL CtrlHandler(DWORD fdwCtrlType) @@ -188,6 +193,7 @@ BOOL CtrlHandler(DWORD fdwCtrlType) + //////////////////////////////////////////////////////////////////////////////// // universalMain - Main startup logic for both standard running and as a service @@ -210,6 +216,7 @@ void universalMain() try #endif { + cRoot Root; Root.Start(); } #if !defined(ANDROID_NDK) @@ -282,7 +289,7 @@ void WINAPI serviceCtrlHandler(DWORD CtrlCode) { case SERVICE_CONTROL_STOP: { - Root.SetStopping(true); + cRoot::m_ShouldStop = true; serviceSetState(0, SERVICE_STOP_PENDING, 0); break; } |