From 09dea76fb5ede974d6765d40985b033db3fba6a3 Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 14 Jun 2023 20:30:02 +0200 Subject: Core/Misc: Replace std::abort with our ABORT macro * libmysql is not a well behaved library on windows, it installs its own SIGABRT handler every time a new connection is opened, overriding our own --- src/server/database/Database/MySQLConnection.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/server/database/Database/MySQLConnection.cpp') diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp index b5600a831ff..3383f9507ed 100644 --- a/src/server/database/Database/MySQLConnection.cpp +++ b/src/server/database/Database/MySQLConnection.cpp @@ -559,7 +559,7 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) { TC_LOG_FATAL("sql.sql", "Could not re-prepare statements!"); std::this_thread::sleep_for(std::chrono::seconds(10)); - std::abort(); + ABORT(); } TC_LOG_INFO("sql.sql", "Successfully reconnected to {} @{}:{} ({}).", @@ -579,7 +579,7 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) // We could also initiate a shutdown through using std::raise(SIGTERM) std::this_thread::sleep_for(std::chrono::seconds(10)); - std::abort(); + ABORT(); } else { @@ -602,12 +602,12 @@ bool MySQLConnection::_HandleMySQLErrno(uint32 errNo, uint8 attempts /*= 5*/) case ER_NO_SUCH_TABLE: TC_LOG_ERROR("sql.sql", "Your database structure is not up to date. Please make sure you've executed all queries in the sql/updates folders."); std::this_thread::sleep_for(std::chrono::seconds(10)); - std::abort(); + ABORT(); return false; case ER_PARSE_ERROR: TC_LOG_ERROR("sql.sql", "Error while parsing SQL. Core fix required."); std::this_thread::sleep_for(std::chrono::seconds(10)); - std::abort(); + ABORT(); return false; default: TC_LOG_ERROR("sql.sql", "Unhandled MySQL errno {}. Unexpected behaviour possible.", errNo); -- cgit v1.2.3