git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22957
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// gs_nThreadsBeingDeleted will have been deleted
static wxCondition *gs_condAllDeleted = (wxCondition *)NULL;
// gs_nThreadsBeingDeleted will have been deleted
static wxCondition *gs_condAllDeleted = (wxCondition *)NULL;
-#if wxUSE_GUI
- // this mutex must be acquired before any call to a GUI function
- static wxMutex *gs_mutexGui;
-#endif // wxUSE_GUI
+// 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
+// of wxBase)
+static wxMutex *gs_mutexGui = NULL;
// 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
// 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
gs_tidMain = pthread_self();
gs_tidMain = pthread_self();
gs_mutexGui = new wxMutex();
gs_mutexGui = new wxMutex();
gs_mutexDeleteThread = new wxMutex();
gs_condAllDeleted = new wxCondition( *gs_mutexDeleteThread );
gs_mutexDeleteThread = new wxMutex();
gs_condAllDeleted = new wxCondition( *gs_mutexDeleteThread );
gs_allThreads[0]->Delete();
}
gs_allThreads[0]->Delete();
}
// destroy GUI mutex
gs_mutexGui->Unlock();
// destroy GUI mutex
gs_mutexGui->Unlock();
// and free TLD slot
(void)pthread_key_delete(gs_keySelf);
// and free TLD slot
(void)pthread_key_delete(gs_keySelf);
}
void wxMutexGuiLeave()
{
}
void wxMutexGuiLeave()
{
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------