aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r--src/server/worldserver/Main.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index 2b05c996ce3..b78a45fd3ae 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -74,7 +74,7 @@ namespace fs = boost::filesystem;
#define _TRINITY_CORE_CONFIG_DIR "worldserver.conf.d"
#endif
-#ifdef _WIN32
+#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
#include "ServiceWin32.h"
#include <tchar.h>
TCHAR serviceName[] = _T("worldserver");
@@ -127,7 +127,7 @@ bool LoadRealmInfo(Trinity::Asio::IoContext& ioContext);
variables_map GetConsoleArguments(int argc, char** argv, fs::path& configFile, fs::path& configDir, std::string& winServiceAction);
/// Launch the Trinity server
-extern int main(int argc, char** argv)
+int main(int argc, char** argv)
{
Trinity::Impl::CurrentServerProcessHolder::_type = SERVER_PROCESS_WORLDSERVER;
signal(SIGABRT, &Trinity::AbortHandler);
@@ -146,12 +146,13 @@ extern int main(int argc, char** argv)
return 0;
#ifdef _WIN32
+ Trinity::Service::Init(serviceLongName, serviceName, serviceDescription, &main, &m_ServiceStatus);
if (winServiceAction == "install")
- return WinServiceInstall() ? 0 : 1;
+ return Trinity::Service::Install();
if (winServiceAction == "uninstall")
- return WinServiceUninstall() ? 0 : 1;
+ return Trinity::Service::Uninstall();
if (winServiceAction == "run")
- return WinServiceRun() ? 0 : 1;
+ return Trinity::Service::Run();
Optional<UINT> newTimerResolution;
boost::system::error_code dllError;