Example #1
0
 protected bool WaitAny( 
     WaitHandle[] events, out int occurredEventIndex, int timeout, IWaitController waitCtrl)
 {
     var eventsEx = new WaitHandle[events.Length + 1];
     var disposeEventIndex = events.Length;
     events.CopyTo(eventsEx, 0);
     eventsEx[disposeEventIndex] = _disposeEvent;
     occurredEventIndex =
         waitCtrl == null
             ? WaitHandle.WaitAny(eventsEx, timeout)
             : waitCtrl.WaitAny(eventsEx, timeout);
     return occurredEventIndex != disposeEventIndex;
 }