Modularized CallFrom/To16 routines. Adapted dependent routines,
16-bit snoop/relay debugging, and make rules.
diff --git a/scheduler/syslevel.c b/scheduler/syslevel.c
index 37c3325..aeb3692 100644
--- a/scheduler/syslevel.c
+++ b/scheduler/syslevel.c
@@ -204,14 +204,10 @@
*/
VOID SYSLEVEL_ReleaseWin16Lock(VOID)
{
- DWORD count;
+ /* entry_point is never used again once the entry point has
+ been called. Thus we re-use it to hold the Win16Lock count */
- ReleaseThunkLock(&count);
-
- if (count > 0xffff)
- ERR("Win16Mutex recursion count too large!\n");
-
- CURRENT_STACK16->mutex_count = (WORD)count;
+ ReleaseThunkLock(&CURRENT_STACK16->entry_point);
}
/************************************************************************
@@ -219,12 +215,7 @@
*/
VOID SYSLEVEL_RestoreWin16Lock(VOID)
{
- DWORD count = CURRENT_STACK16->mutex_count;
-
- if (!count)
- ERR("Win16Mutex recursion count is zero!\n");
-
- RestoreThunkLock(count);
+ RestoreThunkLock(CURRENT_STACK16->entry_point);
}
/************************************************************************