- Fixed KiExitDispatcher.    
- Defined KeIpiGenericCall. It is necessary for the smp build.
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
Modified: trunk/reactos/ntoskrnl/ke/wait.c

Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
--- trunk/reactos/ntoskrnl/include/internal/ke.h	2006-01-09 23:36:17 UTC (rev 20758)
+++ trunk/reactos/ntoskrnl/include/internal/ke.h	2006-01-09 23:54:10 UTC (rev 20759)
@@ -56,7 +56,6 @@
 #define KeReleaseDispatcherDatabaseLockFromDpcLevel() \
     KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock);
 #define KeReleaseDispatcherDatabaseLock(OldIrql) \
-    KeReleaseSpinLockFromDpcLevel(&DispatcherDatabaseLock); \
     KiExitDispatcher(OldIrql);
 #else
 #define KeInitializeDispatcher()
@@ -304,6 +303,13 @@
     ULONG IpiRequest
 );
 
+VOID   
+NTAPI   
+KeIpiGenericCall(   
+    VOID (STDCALL *WorkerRoutine)(PVOID),   
+    PVOID Argument   
+);   
+
 /* next file ***************************************************************/
 
 VOID 

Modified: trunk/reactos/ntoskrnl/ke/wait.c
--- trunk/reactos/ntoskrnl/ke/wait.c	2006-01-09 23:36:17 UTC (rev 20758)
+++ trunk/reactos/ntoskrnl/ke/wait.c	2006-01-09 23:54:10 UTC (rev 20759)
@@ -844,6 +844,10 @@
     {
         KiDispatchThreadNoLock(Ready);
     }
+    else
+    {
+        KeReleaseDispatcherDatabaseLockFromDpcLevel();    
+    }
 
     /* Lower irql back */
     KeLowerIrql(OldIrql);