Is it possible to check how actually AutoResetEvent
object was treated? Is it fired by timeout or by calling Set() from another method?
Here is my code.
private AutoResetEvent autoResetEvent = new AutoResetEvent(false);
private int timeout = 30000;
public void SyncMethod()
{
// some code before
autoResetEvent.WaitOne(timeout);
// if autoResetEvent called by timeout then { do some stuff }
// some code after
}
public void AsyncMethod()
{
// some code before
// ok I am done
autoResetEvent.Set();
}
WaitHandle::WaitOne Method (Int32)
Return Value Type: System::Boolean
true if the current instance receives a signal; otherwise, false.
So, false is returned after timeout.
Yes, check the return value
true if the current instance receives a signal; otherwise, false.
http://msdn.microsoft.com/en-us/library/cc189907
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With