From f895d04b7d6ee054e34cb7b87cb3b3762569bedc Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 5 Jul 2024 13:28:09 +0200 Subject: Core/Database: Fixed WITH_COREDEBUG + WITH_DYNAMIC_LINKING incompatibility on windows --- src/server/database/Database/DatabaseWorkerPool.cpp | 18 +++++++++++++++++- src/server/database/Database/DatabaseWorkerPool.h | 10 +++------- 2 files changed, 20 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/server/database/Database/DatabaseWorkerPool.cpp b/src/server/database/Database/DatabaseWorkerPool.cpp index ad63678d367..41fe3028a05 100644 --- a/src/server/database/Database/DatabaseWorkerPool.cpp +++ b/src/server/database/Database/DatabaseWorkerPool.cpp @@ -51,6 +51,14 @@ #define MIN_MARIADB_CLIENT_VERSION 30003u #define MIN_MARIADB_CLIENT_VERSION_STRING "3.0.3" +namespace +{ +#ifdef TRINITY_DEBUG +template +thread_local bool WarnSyncQueries = false; +#endif +} + template struct DatabaseWorkerPool::QueueSizeTracker { @@ -426,6 +434,14 @@ void DatabaseWorkerPool::KeepAlive() } } +#ifdef TRINITY_DEBUG +template +void DatabaseWorkerPool::WarnAboutSyncQueries([[maybe_unused]] bool warn) +{ + WarnSyncQueries = warn; +} +#endif + template uint32 DatabaseWorkerPool::OpenConnections(InternalIndex type, uint8 numConnections) { @@ -485,7 +501,7 @@ template T* DatabaseWorkerPool::GetFreeConnection() { #ifdef TRINITY_DEBUG - if (_warnSyncQueries) + if (WarnSyncQueries) { std::ostringstream ss; ss << boost::stacktrace::stacktrace(); diff --git a/src/server/database/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h index 5bd3320f0ac..7e4ff9e1a6b 100644 --- a/src/server/database/Database/DatabaseWorkerPool.h +++ b/src/server/database/Database/DatabaseWorkerPool.h @@ -204,12 +204,11 @@ class DatabaseWorkerPool //! Keeps all our MySQL connections alive, prevent the server from disconnecting us. void KeepAlive(); - void WarnAboutSyncQueries([[maybe_unused]] bool warn) - { #ifdef TRINITY_DEBUG - _warnSyncQueries = warn; + static void WarnAboutSyncQueries(bool warn); +#else + static void WarnAboutSyncQueries([[maybe_unused]] bool warn) { } #endif - } size_t QueueSize() const; @@ -236,9 +235,6 @@ class DatabaseWorkerPool std::unique_ptr _connectionInfo; std::vector _preparedStatementSize; uint8 _async_threads, _synch_threads; -#ifdef TRINITY_DEBUG - static inline thread_local bool _warnSyncQueries = false; -#endif }; #endif -- cgit v1.2.3