작성
·
293
0
bool Handle_C_LEAVE_GAME(PacketSessionRef& session, Protocol::C_LEAVE_GAME& pkt)
{
auto gameSession = static_pointer_cast<GameSession>(session);
PlayerRef player = gameSession->player.load();
if (player == nullptr)
return false;
RoomRef room = player->room.load().lock();
if (room == nullptr)
return false;
room->HandleLeavePlayer(player);
return true;
}
잡큐에서 처리를 한다면 문제가 발생하지 않을거로 보이지만, 잡큐에서 실행하지 않고 room->HandleLeavePlayer 함수를 직접 호출하고 있습니다. _objects 자료구조에 접근하여 제거하는데요 Thread Safe 하지 않을거로 보여서요. 혹시 의도된건지 궁금합니다. 코드 흐름상 이정도는 알아서 수정하세요라는 느낌이 강하지만 혹시나해서 여쭤봅니다.
강의를 다시 보니, 영상에서 수정하는 모습이 담겨있네요. 최종본에서 어떤 이유로 수정이 이상하게 올라갔는지 모르겠네요. 강의 잘 보고 있습니다. 감사합니다!