Commit 6f3a20f5 authored by Max-Wilhelm Bruker's avatar Max-Wilhelm Bruker
Browse files

SIGABRT handler, crash fix

parent e6fc2011
......@@ -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;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment