public ActionResult WaitCompletedSignal(int timeoutMs) { if (timeoutMs > 0) { Reset(timeoutMs); } if (!_waitCompletedSignalReceived && !_completedSignal.WaitOne(/*DefaultTimeout*/)) { "{0} UNEXPECTED Default Timeout"._DLOG(ParentType); if (ThrowExceptionOnDefaultTimeoutExpired) { OperationException.Throw("UNEXPECTED Default Timeout"); } } _waitCompletedSignalReceived = true; return(Result); }