ntdll: Allocate crit section debug info by default for Windows versions before 8.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56661
This commit is contained in:
Paul Gofman 2024-05-13 12:46:40 -06:00 committed by Alexandre Julliard
parent b314aaeab8
commit 3c0e318582

View file

@ -187,12 +187,19 @@ static inline NTSTATUS wait_semaphore( RTL_CRITICAL_SECTION *crit, int timeout )
}
}
static ULONG crit_sect_default_flags(void)
{
if (NtCurrentTeb()->Peb->OSMajorVersion > 6 ||
(NtCurrentTeb()->Peb->OSMajorVersion == 6 && NtCurrentTeb()->Peb->OSMinorVersion >= 2)) return 0;
return RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO;
}
/******************************************************************************
* RtlInitializeCriticalSection (NTDLL.@)
*/
NTSTATUS WINAPI RtlInitializeCriticalSection( RTL_CRITICAL_SECTION *crit )
{
return RtlInitializeCriticalSectionEx( crit, 0, 0 );
return RtlInitializeCriticalSectionEx( crit, 0, crit_sect_default_flags() );
}
@ -201,7 +208,7 @@ NTSTATUS WINAPI RtlInitializeCriticalSection( RTL_CRITICAL_SECTION *crit )
*/
NTSTATUS WINAPI RtlInitializeCriticalSectionAndSpinCount( RTL_CRITICAL_SECTION *crit, ULONG spincount )
{
return RtlInitializeCriticalSectionEx( crit, spincount, 0 );
return RtlInitializeCriticalSectionEx( crit, spincount, crit_sect_default_flags() );
}