diff --git a/dlls/ntdll/critsection.c b/dlls/ntdll/critsection.c index ee10fcf34b54d5c8c2ed817a973771b4452d28df..bf00bbbfd2228ea17ac34c73f91673776994b74f 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; }