1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

Fix missing names for some threads

This commit is contained in:
Ivan Savenko
2025-03-02 12:22:25 +00:00
parent dda48b3693
commit 5f052165fe
6 changed files with 12 additions and 8 deletions

View File

@@ -833,13 +833,13 @@ bool AIGateway::makePossibleUpgrades(const CArmedInstance * obj)
void AIGateway::makeTurn() void AIGateway::makeTurn()
{ {
setThreadName("AIGateway::makeTurn");
MAKING_TURN; MAKING_TURN;
auto day = cb->getDate(Date::DAY); auto day = cb->getDate(Date::DAY);
logAi->info("Player %d (%s) starting turn, day %d", playerID, playerID.toString(), day); logAi->info("Player %d (%s) starting turn, day %d", playerID, playerID.toString(), day);
std::shared_lock gsLock(CGameState::mutex); std::shared_lock gsLock(CGameState::mutex);
setThreadName("AIGateway::makeTurn");
if(nullkiller->isOpenMap()) if(nullkiller->isOpenMap())
{ {

View File

@@ -106,8 +106,8 @@ CServerHandler::CServerHandler()
void CServerHandler::threadRunNetwork() void CServerHandler::threadRunNetwork()
{ {
logGlobal->info("Starting network thread");
setThreadName("runNetwork"); setThreadName("runNetwork");
logGlobal->info("Starting network thread");
try { try {
networkHandler->run(); networkHandler->run();
} }

View File

@@ -448,7 +448,6 @@ static void mainLoop()
} }
GAME.reset(); GAME.reset();
GAME->mainmenu().reset();
if(!settings["session"]["headless"].Bool()) if(!settings["session"]["headless"].Bool())
{ {

View File

@@ -19,6 +19,8 @@
#include <sys/prctl.h> #include <sys/prctl.h>
#endif #endif
#include <tbb/task_arena.h>
VCMI_LIB_NAMESPACE_BEGIN VCMI_LIB_NAMESPACE_BEGIN
static thread_local std::string threadNameForLogging; static thread_local std::string threadNameForLogging;
@@ -28,7 +30,12 @@ std::string getThreadName()
if (!threadNameForLogging.empty()) if (!threadNameForLogging.empty())
return threadNameForLogging; return threadNameForLogging;
return boost::lexical_cast<std::string>(std::this_thread::get_id()); int tbbIndex = tbb::this_task_arena::current_thread_index();
if (tbbIndex < 0)
return boost::lexical_cast<std::string>(std::this_thread::get_id());
else
return "TBB worker " + boost::lexical_cast<std::string>(tbbIndex);
} }
void setThreadNameLoggingOnly(const std::string &name) void setThreadNameLoggingOnly(const std::string &name)

View File

@@ -112,10 +112,6 @@ CLogger * CLogger::getLogger(const CLoggerDomain & domain)
logger->setLevel(ELogLevel::TRACE); logger->setLevel(ELogLevel::TRACE);
} }
CLogManager::get().addLogger(logger); CLogManager::get().addLogger(logger);
if (logGlobal != nullptr)
{
logGlobal->debug("Created logger %s", domain.getName());
}
} }
return logger; return logger;
} }

View File

@@ -16,6 +16,7 @@
#include "processors/PlayerMessageProcessor.h" #include "processors/PlayerMessageProcessor.h"
#include "../lib/CPlayerState.h" #include "../lib/CPlayerState.h"
#include "../lib/CThreadHelper.h"
#include "../lib/campaign/CampaignState.h" #include "../lib/campaign/CampaignState.h"
#include "../lib/entities/hero/CHeroHandler.h" #include "../lib/entities/hero/CHeroHandler.h"
#include "../lib/entities/hero/CHeroClass.h" #include "../lib/entities/hero/CHeroClass.h"
@@ -231,6 +232,7 @@ bool CVCMIServer::prepareToStartGame()
auto progressTrackingThread = std::thread([this, &progressTracking]() auto progressTrackingThread = std::thread([this, &progressTracking]()
{ {
setThreadName("progressTrackingThread");
auto currentProgress = std::numeric_limits<Load::Type>::max(); auto currentProgress = std::numeric_limits<Load::Type>::max();
while(!progressTracking.finished()) while(!progressTracking.finished())