X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e40298d54ecd5b109222a7c60aa2ef084a304d69..63e7198ba8304880bc279e0e99f1ed7b49e35d96:/src/mac/thread.cpp diff --git a/src/mac/thread.cpp b/src/mac/thread.cpp index 23a7203752..8c6e856cc6 100644 --- a/src/mac/thread.cpp +++ b/src/mac/thread.cpp @@ -37,10 +37,12 @@ #ifdef __WXMAC__ #include #include "wx/mac/uma.h" +#include "wx/mac/macnotfy.h" #endif #define INFINITE 0xFFFFFFFF + // ---------------------------------------------------------------------------- // constants // ---------------------------------------------------------------------------- @@ -257,12 +259,12 @@ public: } bool IsOk() const { return m_mutex.IsOk() ; } - + wxCondError Wait() { return WaitTimeout(0xFFFFFFFF ); } - + wxCondError WaitTimeout(unsigned long msectimeout) { wxMacStCritical critical ; @@ -300,7 +302,7 @@ public: { wxMacStCritical critical ; return wxCOND_NO_ERROR; - } + } wxArrayLong m_waiters ; wxInt32 m_excessSignals ; @@ -433,6 +435,8 @@ bool wxThreadInternal::Create(wxThread *thread, unsigned int stackSize) SetPriority(m_priority); } + m_state = STATE_NEW; + return TRUE; } @@ -527,7 +531,7 @@ void wxThread::Sleep(unsigned long milliseconds) do { YieldToAnyThread(); - } while( clock() - start < (milliseconds * CLOCKS_PER_SEC) / 1000 ) ; + } while( clock() - start < milliseconds / 1000.0 * CLOCKS_PER_SEC ) ; } int wxThread::GetCPUCount() @@ -714,13 +718,6 @@ wxThreadError wxThread::Delete(ExitCode *pRc) } } - // if ( !::GetExitCodeThread(hThread, (LPDWORD)&rc) ) - { - wxLogLastError("GetExitCodeThread"); - - rc = (ExitCode)-1; - } - if ( IsDetached() ) { // if the thread exits normally, this is done in WinThreadStart, but in @@ -730,9 +727,6 @@ wxThreadError wxThread::Delete(ExitCode *pRc) delete this; } - // wxASSERT_MSG( (DWORD)rc != STILL_ACTIVE, - // wxT("thread must be already terminated.") ); - if ( pRc ) *pRc = rc; @@ -852,7 +846,7 @@ bool wxThreadModule::OnInit() #endif if ( !hasThreadManager ) { - wxMessageBox( "Error" , "Thread Support is not available on this System" , wxOK ) ; + wxLogSysError( wxT("Thread Support is not available on this System") ); return FALSE ; }