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; }