private bool WaitOne(long timeout, bool exitContext)
{
if (safeWaitHandle == null)
{
throw new ObjectDisposedException(null, Environment.GetResourceString("ObjectDisposed_Generic"));
}
int ret = WaitOneNative(safeWaitHandle,(uint)timeout,hasThreadAffinity,exitContext);
if (ret == WAIT_ABANDONED)
{
throw new AbandonedMutexException();
}
return (ret != WaitTimeout);
}