public static int WaitAny(BWaitHandle[] waitHandles, TimeSpan timeout) { WaitHandle[] wh = ToWaitHandle(waitHandles); var res = WaitHandle.WaitAny(wh, timeout); if (res >= 0) waitHandles[res].OnSuccessfullWait(); return res; }
static WaitHandle[] ToWaitHandle(BWaitHandle[] waitHandles) { int n = waitHandles.Length; WaitHandle[] wh = new WaitHandle[n]; for (int i = 0; i < n; ++i) wh[i] = waitHandles[i].WaitHandle; return wh; }
public static int WaitAll(BWaitHandle[] waitHandles, TimeSpan timeout) { throw new NotImplementedException(); }
public static int WaitAll(BWaitHandle[] waitHandles, int millisecondsTimeout) { throw new NotImplementedException(); }
public static int WaitAll(BWaitHandle[] waitHandles) { throw new NotImplementedException(); }