source: trunk/src/kernel32/thread.H@ 21502

Last change on this file since 21502 was 21457, checked in by ydario, 15 years ago

In low mem situations, DosAllocMem() can fail while new() can still work, check for a valid TEB structure also.

File size: 851 bytes
Line 
1/* $Id: thread.H,v 1.8 2002-06-11 16:36:54 sandervl Exp $ */
2
3/*
4 * Win32 Thread API functions
5 *
6 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12#ifndef __THREAD_H__
13#define __THREAD_H__
14
15typedef DWORD (* WIN32API WIN32THREADPROC)(LPVOID);
16
17class Win32Thread
18{
19public:
20 Win32Thread(LPTHREAD_START_ROUTINE pUserCallback, LPVOID lpData, DWORD dwFlags, HANDLE hThread);
21
22 PTHREAD_START_ROUTINE_O32 GetOS2Callback() { return Win32ThreadProc; };
23 /* this is to be privately used by hmthread.cpp only */
24 LPVOID _GetTEB() { return teb; };
25
26private:
27
28 LPVOID lpUserData;
29 LPTHREAD_START_ROUTINE pCallback;
30 DWORD dwFlags;
31 HANDLE hThread;
32 LPVOID teb;
33
34 friend DWORD OPEN32API Win32ThreadProc(LPVOID lpData);
35};
36
37#endif
Note: See TracBrowser for help on using the repository browser.