diff --git a/include/syslevel.h b/include/syslevel.h index 68039a0d8b4..3030183d87b 100644 --- a/include/syslevel.h +++ b/include/syslevel.h @@ -24,6 +24,7 @@ SEGPTR WINAPI GetpWin16Lock16(void); VOID WINAPI _EnterSysLevel(CRITICAL_SECTION *lock); VOID WINAPI _LeaveSysLevel(CRITICAL_SECTION *lock); +DWORD WINAPI _ConfirmWin16Lock(void); VOID WINAPI ReleaseThunkLock(DWORD *mutex_count); VOID WINAPI RestoreThunkLock(DWORD mutex_count); diff --git a/scheduler/syslevel.c b/scheduler/syslevel.c index 297c6dfb928..5b3588eecec 100644 --- a/scheduler/syslevel.c +++ b/scheduler/syslevel.c @@ -123,8 +123,10 @@ VOID WINAPI _ConfirmSysLevel(CRITICAL_SECTION *lock) */ DWORD WINAPI _ConfirmWin16Lock(void) { - FIXME(win32, "()\n"); - return 1; + if ( Win16Mutex.OwningThread == GetCurrentThreadId() ) + return Win16Mutex.RecursionCount; + else + return 0L; } /************************************************************************