What steps will reproduce the problem? 1. On systems with more than 32 logical processors, OmniThread library doesn't start because of range check errors in AffinityMask functions 2. 3.
What is the expected output? What do you see instead?
DwiWin32's wrappers for AffinityMask functions should be upgraded to the actual Win32 API (using DWORD_PTR instead of DWORD). Also, DSiCPUIDs should be extended to support 64 processors. Also, loops reading DSiCPUIDs should use High(DSiCPUIDs) instead of 32 (or 64)
What version of the product are you using? On what operating system? Most recent code. Host with 32 processors.
Please provide any additional information below.
Comment #1
Posted on Apr 24, 2015 by Quick RhinoNote, this happens on 64 bit using XE2, but probably also applies to all other supported compiler versions, and might even fail on 32 bit Windows OSes (although it's highly unlikely those support more than 32 processors).
Comment #2
Posted on Apr 24, 2015 by Quick RhinoPerhaps https://github.com/gabr42/GpDelphiUnits/issues/6 is the better place for this issue
Status: New
Labels:
Type-Defect
Priority-Medium