2007-03-14 20:24:57 +00:00
|
|
|
#include <precomp.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @unimplemented
|
|
|
|
*/
|
2008-07-21 21:46:24 +00:00
|
|
|
uintptr_t CDECL _beginthreadex(
|
2007-03-14 20:24:57 +00:00
|
|
|
void* security,
|
|
|
|
unsigned stack_size,
|
|
|
|
unsigned (__stdcall *start_address)(void*),
|
|
|
|
void* arglist,
|
|
|
|
unsigned initflag,
|
|
|
|
unsigned* thrdaddr)
|
|
|
|
{
|
|
|
|
HANDLE NewThread;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Just call the API function. Any CRT specific processing is done in
|
|
|
|
* DllMain DLL_THREAD_ATTACH
|
|
|
|
*/
|
|
|
|
NewThread = CreateThread ( security, stack_size,
|
|
|
|
(LPTHREAD_START_ROUTINE)start_address,
|
|
|
|
arglist, initflag, (PULONG)thrdaddr );
|
|
|
|
if (NULL == NewThread)
|
|
|
|
{
|
|
|
|
_dosmaperr( GetLastError() );
|
|
|
|
}
|
|
|
|
|
2008-07-21 21:46:24 +00:00
|
|
|
return (uintptr_t) NewThread;
|
2007-03-14 20:24:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* @implemented
|
|
|
|
*/
|
2008-06-06 12:20:28 +00:00
|
|
|
void CDECL _endthreadex(unsigned retval)
|
2007-03-14 20:24:57 +00:00
|
|
|
{
|
|
|
|
/*
|
|
|
|
* Just call the API function. Any CRT specific processing is done in
|
|
|
|
* DllMain DLL_THREAD_DETACH
|
|
|
|
*/
|
|
|
|
ExitThread(retval);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* EOF */
|