From 1ca3de36e85aea93e23b8169829d2dfc9f803993 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Wed, 13 Jul 2005 11:38:08 +0000
Subject: [PATCH] Ignore high bit of spin count.

---
 dlls/ntdll/critsection.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/critsection.c b/dlls/ntdll/critsection.c
index ee10fcf34b5..bf00bbbfd22 100644
--- a/dlls/ntdll/critsection.c
+++ b/dlls/ntdll/critsection.c
@@ -135,7 +135,8 @@ NTSTATUS WINAPI RtlInitializeCriticalSectionAndSpinCount( RTL_CRITICAL_SECTION *
     crit->RecursionCount = 0;
     crit->OwningThread   = 0;
     crit->LockSemaphore  = 0;
-    crit->SpinCount      = spincount;
+    if (NtCurrentTeb()->Peb->NumberOfProcessors <= 1) spincount = 0;
+    crit->SpinCount = spincount & ~0x80000000;
     return STATUS_SUCCESS;
 }
 
-- 
GitLab