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.
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