Hello,
I just noticed the following definitions in thread.inc
function SuspendThread (threadHandle : TThreadID) : dword;
function ResumeThread (threadHandle : TThreadID) : dword;
function CloseThread (threadHandle : TThreadID) : dword;
where TThreadID is defined in sysosh.inc as
I believe this yields an incorrect definition because these thread functions, and many others declared as taking a TThreadID, take a
THANDLE which in 64bit is 64 bit wide, not 32 bit.
This is important because in 64bit the TThreadId definition can cause the upper 32 bits of the handle to be truncated away.
Have I missed something or are these definitions working only due to sheer luck ?
Comments welcome.