- Implement KiAcquireDispatcherObject, KiReleaseDispatcherObject, used on SMP for...
authorAlex Ionescu <aionescu@gmail.com>
Thu, 14 Sep 2006 05:53:51 +0000 (05:53 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Thu, 14 Sep 2006 05:53:51 +0000 (05:53 +0000)
commit20425875ce380811ece9841a9fc83fa52ec2c96e
tree7308f505078b3b28cb513c172f078af441cc320b
parentd53352c6779576725e93fac8d65288a40869e891
- Implement KiAcquireDispatcherObject, KiReleaseDispatcherObject, used on SMP for dispatcher objects which use the volatile long member in the dispatcher header (such as gates).
- Implement KiTryThreadLock which tries to acquire the lock but exits if it can't, isntead of looping.
- Re-factor KeWaitForGate to make it SMP-safe by acquiring various locks when required.
- Fixed up KeSignalGateBoostPriority so it can also be SMP-safe, and also fix what exactly happens when the gate is signaled (directly make the other thread ready instead of doing a KiUnwaitThread on it).
- Split KxAcquireSpinLock/KxReleaseSpinLock into SMP vs UP like the other routines.

svn path=/trunk/; revision=24103
reactos/include/ndk/ketypes.h
reactos/ntoskrnl/include/internal/ke_x.h
reactos/ntoskrnl/ke/gate.c