WaitAny() private method

private WaitAny ( IntPtr infos, int count, int timeout, Mono_Posix_RuntimeIsShuttingDown shutting_down ) : int
infos System.IntPtr
count int
timeout int
shutting_down Mono_Posix_RuntimeIsShuttingDown
return int
コード例 #1
0
 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);
 }
コード例 #2
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));
        }
コード例 #3
0
 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)));
 }
コード例 #4
0
 public static int WaitAny(UnixSignal[] signals)
 {
     return(UnixSignal.WaitAny(signals, -1));
 }