wxMutexGuiEnter/Leave didn't work because this file is compiled with wxUSE_GUI=0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -123,10 +123,10 @@ static wxMutex *gs_mutexDeleteThread = (wxMutex *)NULL;
|
|||||||
// gs_nThreadsBeingDeleted will have been deleted
|
// gs_nThreadsBeingDeleted will have been deleted
|
||||||
static wxCondition *gs_condAllDeleted = (wxCondition *)NULL;
|
static wxCondition *gs_condAllDeleted = (wxCondition *)NULL;
|
||||||
|
|
||||||
#if wxUSE_GUI
|
// this mutex must be acquired before any call to a GUI function
|
||||||
// this mutex must be acquired before any call to a GUI function
|
// (it's not inside #if wxUSE_GUI because this file is compiled as part
|
||||||
static wxMutex *gs_mutexGui;
|
// of wxBase)
|
||||||
#endif // wxUSE_GUI
|
static wxMutex *gs_mutexGui = NULL;
|
||||||
|
|
||||||
// when we wait for a thread to exit, we're blocking on a condition which the
|
// when we wait for a thread to exit, we're blocking on a condition which the
|
||||||
// thread signals in its SignalExit() method -- but this condition can't be a
|
// thread signals in its SignalExit() method -- but this condition can't be a
|
||||||
@@ -1617,11 +1617,8 @@ bool wxThreadModule::OnInit()
|
|||||||
|
|
||||||
gs_tidMain = pthread_self();
|
gs_tidMain = pthread_self();
|
||||||
|
|
||||||
#if wxUSE_GUI
|
|
||||||
gs_mutexGui = new wxMutex();
|
gs_mutexGui = new wxMutex();
|
||||||
|
|
||||||
gs_mutexGui->Lock();
|
gs_mutexGui->Lock();
|
||||||
#endif // wxUSE_GUI
|
|
||||||
|
|
||||||
gs_mutexDeleteThread = new wxMutex();
|
gs_mutexDeleteThread = new wxMutex();
|
||||||
gs_condAllDeleted = new wxCondition( *gs_mutexDeleteThread );
|
gs_condAllDeleted = new wxCondition( *gs_mutexDeleteThread );
|
||||||
@@ -1666,12 +1663,9 @@ void wxThreadModule::OnExit()
|
|||||||
gs_allThreads[0]->Delete();
|
gs_allThreads[0]->Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_GUI
|
|
||||||
// destroy GUI mutex
|
// destroy GUI mutex
|
||||||
gs_mutexGui->Unlock();
|
gs_mutexGui->Unlock();
|
||||||
|
|
||||||
delete gs_mutexGui;
|
delete gs_mutexGui;
|
||||||
#endif // wxUSE_GUI
|
|
||||||
|
|
||||||
// and free TLD slot
|
// and free TLD slot
|
||||||
(void)pthread_key_delete(gs_keySelf);
|
(void)pthread_key_delete(gs_keySelf);
|
||||||
@@ -1720,16 +1714,12 @@ static void DeleteThread(wxThread *This)
|
|||||||
|
|
||||||
void wxMutexGuiEnter()
|
void wxMutexGuiEnter()
|
||||||
{
|
{
|
||||||
#if wxUSE_GUI
|
|
||||||
gs_mutexGui->Lock();
|
gs_mutexGui->Lock();
|
||||||
#endif // wxUSE_GUI
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxMutexGuiLeave()
|
void wxMutexGuiLeave()
|
||||||
{
|
{
|
||||||
#if wxUSE_GUI
|
|
||||||
gs_mutexGui->Unlock();
|
gs_mutexGui->Unlock();
|
||||||
#endif // wxUSE_GUI
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user