Hi,
What was the reason for these changes? It looks like a workaround for
some other bug.
it is a nice question after more than one year.
http://cvs.reactos.com/cgi-bin/cvsweb.cgi/reactos/ntoskrnl/ke/wait.c.diff?r
1=1.51&r2=1.52
KeRemoveAllWaitsThread was called in two situations. One was a real unblocking of the thread, if the thread was waiting on a waitable object which was signaled. The other was the terminating of the thread by an other thread. In this case KeRemoveAllWaitsThread has worked if the thread was waiting on a waitable object. If the thread was simply suspended, RemoveEntryList has bug checked because Waiter->WaitListEntry wasn't in any list. The reason for these changes was the implementation of the CTRL-C handlers in csrss.
- Hartmut