Bugfix: Set the TEBF_WIN32 flag in teb.flags for 32-bit threads.
This commit is contained in:
parent
6529aa7643
commit
ca1c74751a
@ -53,6 +53,10 @@ typedef struct _TEB
|
|||||||
struct _PDB32 *process; /* 30 owning process (used by NT3.51 applets)*/
|
struct _PDB32 *process; /* 30 owning process (used by NT3.51 applets)*/
|
||||||
} TEB;
|
} TEB;
|
||||||
|
|
||||||
|
/* Thread exception flags */
|
||||||
|
#define TEBF_WIN32 0x0001
|
||||||
|
#define TEBF_TRAP 0x0002
|
||||||
|
|
||||||
/* Event waiting structure */
|
/* Event waiting structure */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -182,6 +182,7 @@ THDB *THREAD_Create( PDB32 *pdb, DWORD stack_size, BOOL32 alloc_stack16,
|
|||||||
thdb->teb.except = (void *)-1;
|
thdb->teb.except = (void *)-1;
|
||||||
thdb->teb.htask16 = 0; /* FIXME */
|
thdb->teb.htask16 = 0; /* FIXME */
|
||||||
thdb->teb.self = &thdb->teb;
|
thdb->teb.self = &thdb->teb;
|
||||||
|
thdb->teb.flags = (pdb->flags & PDB32_WIN16_PROC)? 0 : TEBF_WIN32;
|
||||||
thdb->teb.tls_ptr = thdb->tls_array;
|
thdb->teb.tls_ptr = thdb->tls_array;
|
||||||
thdb->teb.process = pdb;
|
thdb->teb.process = pdb;
|
||||||
thdb->wait_list = &thdb->wait_struct;
|
thdb->wait_list = &thdb->wait_struct;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user