An application that calls the SignalObjectAndWait
APIs may experience a deadlock in Windows 7 or in Windows Server 2008 R2. If the threads that are signalled by SignalObjectAndWait
to signal the waiting object of the SignalObjectAndWait
call, the caller thread of SignalObjectAndWait
cannot receive the signal state of the waiting object.
The Signal and Wait operations are not guaranteed to be performed as atomic operations when an application calls the SignalObjectAndWait
To resolve this problem, configure the application to call the SetEvent
API instead of the PulseEvent
API. This method should work in most cases.