It's my understanding that calling SetEvent from kernel mode wakes up
the waiting thread immediately, without waiting for the next scheduler
slot.
That's not the case, at least not literally. If you think about it,
SetEvent cannot possibly do that, because the kernel thread is still
running. All it can do is make the waiting thread "ready to run", plus
a tiny priority boost that makes the thread more likely to be chosen.
--
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.