diff --git a/include/winbase.h b/include/winbase.h index 2ae06cadbb8..e32946fb3ab 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1918,6 +1918,7 @@ VOID WINAPI RestoreThunkLock(DWORD); void WINAPI SetProcessDword(DWORD,INT,DWORD); VOID WINAPI UnMapLS(DWORD); HFILE WINAPI Win32HandleToDosFileHandle(HANDLE); +VOID WINAPI _CheckNotSysLevel(SYSLEVEL *lock); DWORD WINAPI _ConfirmWin16Lock(void); DWORD WINAPI _ConfirmSysLevel(SYSLEVEL*); VOID WINAPI _EnterSysLevel(SYSLEVEL*); diff --git a/scheduler/syslevel.c b/scheduler/syslevel.c index f03d8dcd36e..90f89892fab 100644 --- a/scheduler/syslevel.c +++ b/scheduler/syslevel.c @@ -145,7 +145,11 @@ DWORD WINAPI _ConfirmSysLevel(SYSLEVEL *lock) */ VOID WINAPI _CheckNotSysLevel(SYSLEVEL *lock) { - FIXME("(%p)\n", lock); + if (lock && lock->crst.OwningThread == GetCurrentThreadId() && lock->crst.RecursionCount) + { + ERR( "Holding lock %p level %d\n", lock, lock->level ); + DbgBreakPoint(); + } }