public static int WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext) { WaitHandle.CheckArray(waitHandles, false); if (millisecondsTimeout < -1) { throw new ArgumentOutOfRangeException("millisecondsTimeout"); } int result; try { if (exitContext) { SynchronizationAttribute.ExitContext(); } result = WaitHandle.WaitAny_internal(waitHandles, millisecondsTimeout, exitContext); } finally { if (exitContext) { SynchronizationAttribute.EnterContext(); } } return(result); }
public static int WaitAny(WaitHandle[] waitHandles, TimeSpan timeout, bool exitContext) { WaitHandle.CheckArray(waitHandles, false); long num = (long)timeout.TotalMilliseconds; if (num < -1L || num > 2147483647L) { throw new ArgumentOutOfRangeException("timeout"); } int result; try { if (exitContext) { SynchronizationAttribute.ExitContext(); } result = WaitHandle.WaitAny_internal(waitHandles, (int)num, exitContext); } finally { if (exitContext) { SynchronizationAttribute.EnterContext(); } } return(result); }
public static int WaitAny(WaitHandle[] waitHandles) { WaitHandle.CheckArray(waitHandles, false); return(WaitHandle.WaitAny_internal(waitHandles, -1, false)); }