SIGABRT handler, crash fix
This commit is contained in:
parent
e6fc20114e
commit
6f3a20f53f
2 changed files with 5 additions and 2 deletions
|
@ -84,7 +84,6 @@ Server_Game *Server_Room::createGame(const QString &description, const QString &
|
|||
|
||||
Server_Game *newGame = new Server_Game(creator, static_cast<Server *>(parent())->getNextGameId(), description, password, maxPlayers, gameTypes, onlyBuddies, onlyRegistered, spectatorsAllowed, spectatorsNeedPassword, spectatorsCanTalk, spectatorsSeeEverything, this);
|
||||
newGame->moveToThread(thread());
|
||||
newGame->setParent(this);
|
||||
// This mutex needs to be unlocked by the caller.
|
||||
newGame->gameMutex.lock();
|
||||
games.insert(newGame->getGameId(), newGame);
|
||||
|
|
|
@ -75,7 +75,10 @@ void myMessageOutput(QtMsgType /*type*/, const char *msg)
|
|||
|
||||
void sigSegvHandler(int sig)
|
||||
{
|
||||
logger->logMessage("SIGSEGV");
|
||||
if (sig == SIGSEGV)
|
||||
logger->logMessage("CRASH: SIGSEGV");
|
||||
else if (sig == SIGABRT)
|
||||
logger->logMessage("CRASH: SIGABRT");
|
||||
delete loggerThread;
|
||||
raise(sig);
|
||||
}
|
||||
|
@ -114,6 +117,7 @@ int main(int argc, char *argv[])
|
|||
segv.sa_flags = SA_RESETHAND;
|
||||
sigemptyset(&segv.sa_mask);
|
||||
sigaction(SIGSEGV, &segv, 0);
|
||||
sigaction(SIGABRT, &segv, 0);
|
||||
#endif
|
||||
rng = new RNG_SFMT;
|
||||
|
||||
|
|
Loading…
Reference in a new issue