mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
replace boost locks with std
This commit is contained in:
@@ -836,7 +836,7 @@ void AIGateway::makeTurn()
|
||||
auto day = cb->getDate(Date::DAY);
|
||||
logAi->info("Player %d (%s) starting turn, day %d", playerID, playerID.toString(), day);
|
||||
|
||||
boost::shared_lock gsLock(CGameState::mutex);
|
||||
std::shared_lock gsLock(CGameState::mutex);
|
||||
setThreadName("AIGateway::makeTurn");
|
||||
|
||||
if(nullkiller->isOpenMap())
|
||||
@@ -1582,7 +1582,7 @@ void AIGateway::buildArmyIn(const CGTownInstance * t)
|
||||
void AIGateway::finish()
|
||||
{
|
||||
//we want to lock to avoid multiple threads from calling makingTurn->join() at same time
|
||||
boost::lock_guard<boost::mutex> multipleCleanupGuard(turnInterruptionMutex);
|
||||
boost::lock_guard<std::mutex> multipleCleanupGuard(turnInterruptionMutex);
|
||||
|
||||
if(makingTurn)
|
||||
{
|
||||
@@ -1598,7 +1598,7 @@ void AIGateway::requestActionASAP(std::function<void()> whatToDo)
|
||||
{
|
||||
setThreadName("AIGateway::requestActionASAP::whatToDo");
|
||||
SET_GLOBAL_STATE(this);
|
||||
boost::shared_lock gsLock(CGameState::mutex);
|
||||
std::shared_lock gsLock(CGameState::mutex);
|
||||
whatToDo();
|
||||
});
|
||||
|
||||
@@ -1670,7 +1670,7 @@ AIStatus::~AIStatus()
|
||||
|
||||
void AIStatus::setBattle(BattleState BS)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
LOG_TRACE_PARAMS(logAi, "battle state=%d", (int)BS);
|
||||
battle = BS;
|
||||
cv.notify_all();
|
||||
@@ -1678,7 +1678,7 @@ void AIStatus::setBattle(BattleState BS)
|
||||
|
||||
BattleState AIStatus::getBattle()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
return battle;
|
||||
}
|
||||
|
||||
@@ -1691,7 +1691,7 @@ void AIStatus::addQuery(QueryID ID, std::string description)
|
||||
}
|
||||
|
||||
assert(ID.getNum() >= 0);
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
|
||||
assert(!vstd::contains(remainingQueries, ID));
|
||||
|
||||
@@ -1703,7 +1703,7 @@ void AIStatus::addQuery(QueryID ID, std::string description)
|
||||
|
||||
void AIStatus::removeQuery(QueryID ID)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
assert(vstd::contains(remainingQueries, ID));
|
||||
|
||||
std::string description = remainingQueries[ID];
|
||||
@@ -1715,40 +1715,40 @@ void AIStatus::removeQuery(QueryID ID)
|
||||
|
||||
int AIStatus::getQueriesCount()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
return static_cast<int>(remainingQueries.size());
|
||||
}
|
||||
|
||||
void AIStatus::startedTurn()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
havingTurn = true;
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
void AIStatus::madeTurn()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
havingTurn = false;
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
void AIStatus::waitTillFree()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
while(battle != NO_BATTLE || !remainingQueries.empty() || !objectsBeingVisited.empty() || ongoingHeroMovement)
|
||||
cv.wait_for(lock, boost::chrono::milliseconds(10));
|
||||
cv.wait_for(lock, std::chrono::milliseconds(10));
|
||||
}
|
||||
|
||||
bool AIStatus::haveTurn()
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
return havingTurn;
|
||||
}
|
||||
|
||||
void AIStatus::attemptedAnsweringQuery(QueryID queryID, int answerRequestID)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
assert(vstd::contains(remainingQueries, queryID));
|
||||
std::string description = remainingQueries[queryID];
|
||||
logAi->debug("Attempted answering query %d - %s. Request id=%d. Waiting for results...", queryID, description, answerRequestID);
|
||||
@@ -1775,7 +1775,7 @@ void AIStatus::receivedAnswerConfirmation(int answerRequestID, int result)
|
||||
|
||||
void AIStatus::heroVisit(const CGObjectInstance * obj, bool started)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
if(started)
|
||||
{
|
||||
objectsBeingVisited.push_back(obj);
|
||||
@@ -1793,14 +1793,14 @@ void AIStatus::heroVisit(const CGObjectInstance * obj, bool started)
|
||||
|
||||
void AIStatus::setMove(bool ongoing)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
ongoingHeroMovement = ongoing;
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
void AIStatus::setChannelProbing(bool ongoing)
|
||||
{
|
||||
boost::unique_lock<boost::mutex> lock(mx);
|
||||
std::unique_lock<std::mutex> lock(mx);
|
||||
ongoingChannelProbing = ongoing;
|
||||
cv.notify_all();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user