Set state of internal thread object upon ::Exit
to EXITED. This is consistent with MSW and fixes a crash with double deletion. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1483,6 +1483,12 @@ void wxThread::Exit(ExitCode status)
|
|||||||
// only call one thread function at a time :-(
|
// only call one thread function at a time :-(
|
||||||
DeleteThread(this);
|
DeleteThread(this);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_critsect.Enter();
|
||||||
|
m_internal->SetState(STATE_EXITED);
|
||||||
|
m_critsect.Leave();
|
||||||
|
}
|
||||||
|
|
||||||
// terminate the thread (pthread_exit() never returns)
|
// terminate the thread (pthread_exit() never returns)
|
||||||
pthread_exit(status);
|
pthread_exit(status);
|
||||||
|
Reference in New Issue
Block a user