Fix GetCurrentProcessorId for > 64 CPUs on Windows.
authorvsadov <vsadov@microsoft.com>
Thu, 5 Dec 2019 18:55:16 +0000 (10:55 -0800)
committervsadov <vsadov@microsoft.com>
Thu, 5 Dec 2019 18:55:16 +0000 (10:55 -0800)
src/coreclr/src/vm/comsynchronizable.cpp

index 369c8fd..02c1e37 100644 (file)
@@ -1450,6 +1450,12 @@ FCIMPL0(INT32, ThreadNative::GetCurrentProcessorNumber)
 {
     FCALL_CONTRACT;
 
+#ifndef FEATURE_PAL
+    PROCESSOR_NUMBER proc_no_cpu_group;
+    GetCurrentProcessorNumberEx(&proc_no_cpu_group);
+    return (proc_no_cpu_group.Group << 6) | proc_no_cpu_group.Number;
+#else
     return ::GetCurrentProcessorNumber();
+#endif //!FEATURE_PAL
 }
 FCIMPLEND;