Я запускаю свою игру на Linux-системе ТВ, когда я выхожу из игры, система вылетает.
из выходного журнала, я знаю, что моя игра была вполне, но происходит сбой системы.
основная функция, как показано ниже:
int main(int argc, char** argv)
{
......
SDL_Quit();
printf("Log: exit end. \n);// it's printed on console
return 0;
}
Я могу найти выходной журнал о Log: exit end.Таким образом, игра была завершена, верно?
Я обнаружил, что выход из игры будет только сбой после создания потоков.
Ниже приведена функция запуска в потоке:
while ( pThread->m_running )
{
string str;
string cmdStr;
if ( pThread->GetSendMsg(str, cmdStr) )
{
string returnStr = Connection::DealHttpSendMsg( str, cmdStr );
pThread->AddReturnMsg( returnStr );
haveData = true;
}
else
{
SDL_Delay(100);
haveData = false;
}
}
Мой вопрос таков: если m_running
всегда верно.поэтому, когда я выхожу из игры, поток все еще работает.Это приведет к аварии?