X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-os-mutex.h;h=1317b0b462d385037b2347d881a954dfc201785d;hb=9afab4092501a7e7e240a2dd9ed0892d1e0821de;hp=536640532ef52981ad911a9c00a45682702285a7;hpb=85c7bd08ef81e809d64d052dafc6ca0f34acc81c;p=mono.git diff --git a/mono/utils/mono-os-mutex.h b/mono/utils/mono-os-mutex.h index 536640532ef..1317b0b462d 100644 --- a/mono/utils/mono-os-mutex.h +++ b/mono/utils/mono-os-mutex.h @@ -5,6 +5,8 @@ * Authors: Jeffrey Stedfast * * Copyright 2002 Ximian, Inc. (www.ximian.com) + * + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #ifndef __MONO_OS_MUTEX_H__ @@ -208,6 +210,11 @@ WINBASEAPI WINBOOL WINAPI InitOnceBeginInitialize(LPINIT_ONCE lpInitOnce, DWORD WINBASEAPI WINBOOL WINAPI InitOnceComplete(LPINIT_ONCE lpInitOnce, DWORD dwFlags, LPVOID lpContext); WINBASEAPI WINBOOL WINAPI InitOnceExecuteOnce(PINIT_ONCE InitOnce, PINIT_ONCE_FN InitFn, PVOID Parameter, LPVOID *Context); +/* https://msdn.microsoft.com/en-us/library/windows/desktop/ms683477(v=vs.85).aspx */ +WINBASEAPI BOOL WINAPI InitializeCriticalSectionEx(LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags); + +#define CRITICAL_SECTION_NO_DEBUG_INFO 0x01000000 + #endif /* defined __MINGW32__ && !defined __MINGW64_VERSION_MAJOR && (_WIN32_WINNT >= 0x0600) */ typedef CRITICAL_SECTION mono_mutex_t; @@ -216,14 +223,14 @@ typedef CONDITION_VARIABLE mono_cond_t; static inline int mono_os_mutex_init (mono_mutex_t *mutex) { - InitializeCriticalSection (mutex); + InitializeCriticalSectionEx (mutex, 0, CRITICAL_SECTION_NO_DEBUG_INFO); return 0; } static inline int mono_os_mutex_init_recursive (mono_mutex_t *mutex) { - InitializeCriticalSection (mutex); + InitializeCriticalSectionEx (mutex, 0, CRITICAL_SECTION_NO_DEBUG_INFO); return 0; }