diff options
Diffstat (limited to '')
-rw-r--r-- | src/main.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/src/main.cpp b/src/main.cpp index e0ce68a8c..cb7633df3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,7 @@ #include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules +#include "main.h" #include "BuildInfo.h" #include "Logger.h" #include "MemorySettingsRepository.h" @@ -17,17 +18,12 @@ -/** If set to true, the protocols will log each player's incoming (C->S) communication to a per-connection logfile. */ bool g_ShouldLogCommIn; - -/** If set to true, the protocols will log each player's outgoing (S->C) communication to a per-connection logfile. */ bool g_ShouldLogCommOut; - -/** If set to true, binary will attempt to run as a service. */ bool g_RunAsService; /** Global that registers itself as a last chance exception handler to write a minidump on crash. */ -MiniDumpWriter g_MiniDumpWriter; +static MiniDumpWriter g_MiniDumpWriter; @@ -90,7 +86,7 @@ static void NonCtrlHandler(int a_Signal) case SIGTERM: { // Server is shutting down, wait for it... - cRoot::Stop(); + cRoot::Get()->Stop(); return; } #ifdef SIGPIPE @@ -115,7 +111,7 @@ static void NonCtrlHandler(int a_Signal) // Handle CTRL events in windows, including console window close static BOOL CtrlHandler(DWORD fdwCtrlType) { - cRoot::Stop(); + cRoot::Get()->Stop(); LOGD("Terminate event raised from the Windows CtrlHandler"); // Delay as much as possible to try to get the server to shut down cleanly - 10 seconds given by Windows @@ -134,7 +130,7 @@ static BOOL CtrlHandler(DWORD fdwCtrlType) //////////////////////////////////////////////////////////////////////////////// // ParseArguments - Read the startup arguments and store into a settings object -static cMemorySettingsRepository ParseArguments(int argc, char ** argv) +static void ParseArguments(int argc, char ** argv, cMemorySettingsRepository & repo) { // Parse the comand line args: TCLAP::CmdLine cmd("Cuberite"); @@ -152,7 +148,6 @@ static cMemorySettingsRepository ParseArguments(int argc, char ** argv) cmd.parse(argc, argv); // Copy the parsed args' values into a settings repository: - cMemorySettingsRepository repo; if (confArg.isSet()) { AString conf_file = confArg.getValue(); @@ -204,8 +199,6 @@ static cMemorySettingsRepository ParseArguments(int argc, char ** argv) { g_MiniDumpWriter.AddDumpFlags(MiniDumpFlags::WithFullMemory); } - - return repo; } @@ -238,7 +231,8 @@ static int UniversalMain(int argc, char * argv[], bool RunningAsService) try { // Make sure g_RunAsService is set correctly before checking it's value - auto Settings = ParseArguments(argc, argv); + cMemorySettingsRepository Settings; + ParseArguments(argc, argv, Settings); // Attempt to run as a service if (!RunningAsService && g_RunAsService) |