#include <stdio.h>
#include "wx/module.h"
+#include "wx/intl.h"
+#include "wx/utils.h"
+#include "wx/log.h"
#include "wx/thread.h"
#define INCL_DOSSEMAPHORES
}
// create a new (suspended) thread (for the given thread object)
- bool Create(wxThread* pThread);
+ bool Create( wxThread* pThread
+ ,unsigned int uStackSize
+ );
// suspend/resume/terminate
bool Suspend();
bool wxThreadInternal::Create(
wxThread* pThread
+, unsigned int uStackSize
)
{
APIRET ulrc;
,(PFNTHREAD)wxThreadInternal::OS2ThreadStart
,(ULONG)pThread
,CREATE_SUSPENDED | STACK_SPARSE
- ,8192L
+ ,(ULONG)uStackSize
);
if(ulrc != 0)
{
// create/start thread
// -------------------
-wxThreadError wxThread::Create()
+wxThreadError wxThread::Create(
+ unsigned int uStackSize
+)
{
- if ( !m_internal->Create(this) )
+ if ( !m_internal->Create(this, uStackSize) )
return wxTHREAD_NO_RESOURCE;
return wxTHREAD_NO_ERROR;
if (gs_pCritsectGui)
{
gs_pCritsectGui->Leave();
+#if (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
delete gs_pCritsectGui;
+#endif
gs_pCritsectGui = NULL;
}
+#if (!(defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )))
wxDELETE(gs_pCritsectWaitingForGui);
+#endif
}
// ----------------------------------------------------------------------------