X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c2882d9e1b17c600a196e1b69fbe66b98204151..29e60597389f16f9744a74bd4549b17d2e1dc34f:/src/unix/threadpsx.cpp diff --git a/src/unix/threadpsx.cpp b/src/unix/threadpsx.cpp index d708dbd703..b30021a122 100644 --- a/src/unix/threadpsx.cpp +++ b/src/unix/threadpsx.cpp @@ -135,7 +135,7 @@ static pthread_key_t gs_keySelf; static size_t gs_nThreadsBeingDeleted = 0; // a mutex to protect gs_nThreadsBeingDeleted -static pthread_mutex_t gs_mutexDeleteThread = PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t gs_mutexDeleteThread; // and a condition variable which will be signaled when all // gs_nThreadsBeingDeleted will have been deleted @@ -749,7 +749,7 @@ void wxThreadInternal::Wait() // we're cancelled inside pthread_join(), things will almost // certainly break - but if we disable the cancellation, we // might deadlock - if ( pthread_join((pthread *)id, &m_exitcode) != 0 ) + if ( pthread_join((pthread_t)id, &m_exitcode) != 0 ) { wxLogError(_("Failed to join a thread, potential memory leak " "detected - please restart the program")); @@ -1449,6 +1449,10 @@ bool wxThreadModule::OnInit() gs_mutexGui->Lock(); #endif // wxUSE_GUI + // under Solaris we get a warning from CC when using + // PTHREAD_MUTEX_INITIALIZER, so do it dynamically + pthread_mutex_init(&gs_mutexDeleteThread, NULL); + return TRUE; }