aboutsummaryrefslogtreecommitdiff
path: root/src/server/bnetserver/Main.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-04-04 21:31:22 +0200
committerShauren <shauren.trinity@gmail.com>2024-04-04 21:31:22 +0200
commit7df138ba2bb693425b6217a230259a237c3f67d2 (patch)
treeb0b567a8eb27d8384e88ba19aa16340e3a54ea32 /src/server/bnetserver/Main.cpp
parent038f995ad6ce6a26f71367cae3eb7ae107527a18 (diff)
Core/Misc: Replace shared_ptr with unique_ptr with deleter for cleanups in main() functions
Diffstat (limited to 'src/server/bnetserver/Main.cpp')
-rw-r--r--src/server/bnetserver/Main.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/server/bnetserver/Main.cpp b/src/server/bnetserver/Main.cpp
index 6d667cd48b1..16b241e46b6 100644
--- a/src/server/bnetserver/Main.cpp
+++ b/src/server/bnetserver/Main.cpp
@@ -35,6 +35,7 @@
#include "IpNetwork.h"
#include "Locales.h"
#include "LoginRESTService.h"
+#include "Memory.h"
#include "MySQLThreading.h"
#include "OpenSSLCrypto.h"
#include "ProcessPriority.h"
@@ -102,9 +103,11 @@ int main(int argc, char** argv)
if (vm.count("help") || vm.count("version"))
return 0;
+ uint32 dummy = 0;
+
GOOGLE_PROTOBUF_VERIFY_VERSION;
- std::shared_ptr<void> protobufHandle(nullptr, [](void*) { google::protobuf::ShutdownProtobufLibrary(); });
+ auto protobufHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { google::protobuf::ShutdownProtobufLibrary(); });
#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
if (winServiceAction == "install")
@@ -161,7 +164,7 @@ int main(int argc, char** argv)
OpenSSLCrypto::threadsSetup(boost::dll::program_location().remove_filename());
- std::shared_ptr<void> opensslHandle(nullptr, [](void*) { OpenSSLCrypto::threadsCleanup(); });
+ auto opensslHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { OpenSSLCrypto::threadsCleanup(); });
// bnetserver PID file creation
std::string pidFile = sConfigMgr->GetStringDefault("PidFile", "");
@@ -186,7 +189,7 @@ int main(int argc, char** argv)
if (!StartDB())
return 1;
- std::shared_ptr<void> dbHandle(nullptr, [](void*) { StopDB(); });
+ auto dbHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { StopDB(); });
if (vm.count("update-databases-only"))
return 0;
@@ -214,7 +217,7 @@ int main(int argc, char** argv)
return 1;
}
- std::shared_ptr<void> sLoginServiceHandle(nullptr, [](void*) { sLoginService.StopNetwork(); });
+ auto sLoginServiceHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sLoginService.StopNetwork(); });
// Start the listening port (acceptor) for auth connections
int32 bnport = sConfigMgr->GetIntDefault("BattlenetPort", 1119);
@@ -227,7 +230,7 @@ int main(int argc, char** argv)
// Get the list of realms for the server
sRealmList->Initialize(*ioContext, sConfigMgr->GetIntDefault("RealmsStateUpdateDelay", 10));
- std::shared_ptr<void> sRealmListHandle(nullptr, [](void*) { sRealmList->Close(); });
+ auto sRealmListHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sRealmList->Close(); });
std::string bindIp = sConfigMgr->GetStringDefault("BindIP", "0.0.0.0");
@@ -237,7 +240,7 @@ int main(int argc, char** argv)
return 1;
}
- std::shared_ptr<void> sSessionMgrHandle(nullptr, [](void*) { sSessionMgr.StopNetwork(); });
+ auto sSessionMgrHandle = Trinity::make_unique_ptr_with_deleter(&dummy, [](void*) { sSessionMgr.StopNetwork(); });
// Set signal handlers
boost::asio::signal_set signals(*ioContext, SIGINT, SIGTERM);