private WaitAny ( |
||
infos | ||
count | int | |
timeout | int | |
shutting_down | Mono_Posix_RuntimeIsShuttingDown | |
return | int |
public override bool WaitOne(int millisecondsTimeout, bool exitContext) { this.AssertValid(); if (exitContext) { throw new InvalidOperationException("exitContext is not supported"); } return(UnixSignal.WaitAny(new UnixSignal[] { this }, millisecondsTimeout) == 0); }
public static int WaitAny(UnixSignal[] signals, TimeSpan timeout) { long totalMilliseconds = (long)timeout.TotalMilliseconds; if (totalMilliseconds < (long)-1 || totalMilliseconds > (long)2147483647) { throw new ArgumentOutOfRangeException("timeout"); } return(UnixSignal.WaitAny(signals, (int)totalMilliseconds)); }
public static int WaitAny(UnixSignal[] signals, int millisecondsTimeout) { if (signals == null) { throw new ArgumentNullException("signals"); } if (millisecondsTimeout < -1) { throw new ArgumentOutOfRangeException("millisecondsTimeout"); } IntPtr[] signalInfo = new IntPtr[(int)signals.Length]; for (int i = 0; i < (int)signals.Length; i++) { signalInfo[i] = signals[i].signal_info; if (signalInfo[i] == IntPtr.Zero) { throw new InvalidOperationException("Disposed UnixSignal"); } } return(UnixSignal.WaitAny(signalInfo, (int)signalInfo.Length, millisecondsTimeout, () => (!Environment.HasShutdownStarted ? 0 : 1))); }
public static int WaitAny(UnixSignal[] signals) { return(UnixSignal.WaitAny(signals, -1)); }