diff options
Diffstat (limited to 'src/server/authserver/Main.cpp')
-rw-r--r-- | src/server/authserver/Main.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp index 145ec132966..33d50071140 100644 --- a/src/server/authserver/Main.cpp +++ b/src/server/authserver/Main.cpp @@ -34,12 +34,14 @@ #include "IPLocation.h" #include "GitRevision.h" #include "MySQLThreading.h" +#include "OpenSSLCrypto.h" #include "ProcessPriority.h" #include "RealmList.h" #include "SecretMgr.h" #include "SharedDefines.h" #include "Util.h" #include <boost/asio/signal_set.hpp> +#include <boost/dll/runtime_symbol_info.hpp> #include <boost/program_options.hpp> #include <boost/filesystem/operations.hpp> #include <openssl/crypto.h> @@ -129,6 +131,10 @@ int main(int argc, char** argv) for (std::string const& key : overriddenKeys) TC_LOG_INFO("server.authserver", "Configuration field '%s' was overridden with environment variable.", key.c_str()); + OpenSSLCrypto::threadsSetup(boost::dll::program_location().remove_filename()); + + std::shared_ptr<void> opensslHandle(nullptr, [](void*) { OpenSSLCrypto::threadsCleanup(); }); + // authserver PID file creation std::string pidFile = sConfigMgr->GetStringDefault("PidFile", ""); if (!pidFile.empty()) |