public void Reset()
{
_workItem = null;
_isTimedout = false;
_isSignaled = false;
_waitHandle.Reset();
}
/// <summary> /// Returns the WaiterEntry of the current thread /// </summary> /// <returns></returns> /// In order to avoid creation and destuction of WaiterEntry /// objects each thread has its own WaiterEntry object. private WaiterEntry GetThreadWaiterEntry() { if (null == _waiterEntry) { _waiterEntry = new WaiterEntry(); } _waiterEntry.Reset(); return(_waiterEntry); }