Why does spinlock implementation raise the irql to dispatch level? just acquiring the lock at passive level should prevent other threads from
accessing the same lock.
Re: How to check if a spin lock has been freed or released? ...Calling NdisAllocateSpinLock() on a lock you already hold might not ... and it might break the lock on an SMP ... the IRQL to DISPATCH_LEVEL prevents that from happening, ... (microsoft.public.development.device.drivers)
Re: PREfast and the Cancel Safe Queue sample ... if you annotate the function with __drv_acquiresResource it should let PFD know that the lock being acquired does not need to be released in the same context. ... Please do not send e-mail directly to this alias.... > and does not restore the IRQL before it exits. ... (microsoft.public.development.device.drivers)
Re: why spinlock raises IRQL to DISPATCH ... > accessing the same lock.... You can think of a spinlock as a two dimensional object. ... dimension is IRQL and that synchronizes on the local processor only. ...raise to this maximum level when ever you acquire otherwise that interrupt ... (microsoft.public.development.device.drivers)
Re: PREfast and the Cancel Safe Queue sample ... Am I wrong there are annotations to say PREfast that return with lock... and does not restore the IRQL before it exits. ... where in the function do I place the annotation... (microsoft.public.development.device.drivers)
Re: PREfast and the Cancel Safe Queue sample ... the analysis tool sees that a lock is acquired but not released in the same function. ... > and does not restore the IRQL before it exits. ... where in the function do I place the annotation... > the IRQL and does not restore the IRQL before it exits. ... (microsoft.public.development.device.drivers)