1 #include <precomp.h>
2
3 /*
4 * @unimplemented
5 */
_beginthreadex(void * security,unsigned stack_size,unsigned (__stdcall * start_address)(void *),void * arglist,unsigned initflag,unsigned * thrdaddr)6 uintptr_t CDECL _beginthreadex(
7 void* security,
8 unsigned stack_size,
9 unsigned (__stdcall *start_address)(void*),
10 void* arglist,
11 unsigned initflag,
12 unsigned* thrdaddr)
13 {
14 HANDLE NewThread;
15
16 /*
17 * Just call the API function. Any CRT specific processing is done in
18 * DllMain DLL_THREAD_ATTACH
19 */
20 NewThread = CreateThread ( security, stack_size,
21 (LPTHREAD_START_ROUTINE)start_address,
22 arglist, initflag, (PULONG)thrdaddr );
23 if (NULL == NewThread)
24 {
25 _dosmaperr( GetLastError() );
26 }
27
28 return (uintptr_t) NewThread;
29 }
30
31
32 /*
33 * @implemented
34 */
_endthreadex(unsigned retval)35 void CDECL _endthreadex(unsigned retval)
36 {
37 /*
38 * Just call the API function. Any CRT specific processing is done in
39 * DllMain DLL_THREAD_DETACH
40 */
41 ExitThread(retval);
42 }
43
44 /* EOF */
45