diff --git a/stepmania/src/archutils/Unix/CrashHandler.cpp b/stepmania/src/archutils/Unix/CrashHandler.cpp index d7fd7c531a..46fa9f628d 100644 --- a/stepmania/src/archutils/Unix/CrashHandler.cpp +++ b/stepmania/src/archutils/Unix/CrashHandler.cpp @@ -366,6 +366,10 @@ static void RunCrashHandler( const CrashData *crash ) int status = 0; waitpid( childpid, &status, 0 ); + + /* We need to resume threads before continuing, or we may deadlock on _exit(). */ + RageThread::ResumeAllThreads(); + if( WIFSIGNALED(status) ) safe_print( fileno(stderr), "Crash handler child exited with signal ", itoa(WTERMSIG(status)), "\n", NULL); }