X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6fe7378863be6febaaab0e8aa855b51781351ac5..761e1e0702fb50aca31fb7a38dcb0f00ae4d2ac6:/src/msw/thread.cpp diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index de8b882908..b654353bfc 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -520,6 +520,14 @@ bool wxThreadInternal::Create(wxThread *thread, unsigned int stackSize) // creation instead of Win32 API one because otherwise we will have memory // leaks if the thread uses C RTL (and most threads do) #ifdef wxUSE_BEGIN_THREAD + + // Watcom is reported to not like 0 stack size (which means "use default" + // for the other compilers and is also the default value for stackSize) +#ifdef __WATCOMC__ + if ( !stackSize ) + stackSize = 10240; +#endif // __WATCOMC__ + m_hThread = (HANDLE)_beginthreadex ( NULL, // default security @@ -533,7 +541,7 @@ bool wxThreadInternal::Create(wxThread *thread, unsigned int stackSize) m_hThread = ::CreateThread ( NULL, // default security - stackSize, // default stack size + stackSize, // stack size wxThreadInternal::WinThreadStart, // thread entry point (LPVOID)thread, // parameter CREATE_SUSPENDED, // flags @@ -639,6 +647,11 @@ int wxThread::GetCPUCount() return si.dwNumberOfProcessors; } +unsigned long wxThread::GetCurrentId() +{ + return (unsigned long)::GetCurrentThreadId(); +} + bool wxThread::SetConcurrency(size_t level) { wxASSERT_MSG( IsMain(), _T("should only be called from the main thread") );