Stub out WaitHandle.WaitAny() with platform wrapper implementation in ThreadUtil.WaitAny().
diff --git a/src/main/csharp/Util/MessageDispatchChannel.cs b/src/main/csharp/Util/MessageDispatchChannel.cs
index d2d33dc..a1d7cfc 100644
--- a/src/main/csharp/Util/MessageDispatchChannel.cs
+++ b/src/main/csharp/Util/MessageDispatchChannel.cs
@@ -170,7 +170,7 @@
{
this.mutex.ReleaseMutex();
this.waiter.Reset();
- WaitHandle.WaitAny(this.waiters, (int)timeout.TotalMilliseconds, false);
+ ThreadUtil.WaitAny(this.waiters, (int)timeout.TotalMilliseconds, false);
this.mutex.WaitOne();
}
diff --git a/src/main/csharp/Util/ThreadUtil.cs b/src/main/csharp/Util/ThreadUtil.cs
index c267395..c54b325 100644
--- a/src/main/csharp/Util/ThreadUtil.cs
+++ b/src/main/csharp/Util/ThreadUtil.cs
@@ -33,5 +33,14 @@
shutdownEvent.WaitOne(timeout, false);
#endif
}
+
+ public static void WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout, bool exitContext)
+ {
+#if NETCF
+ // TODO: Implement .NET CF version of WaitAny().
+#else
+ WaitHandle.WaitAny(waitHandles, millisecondsTimeout, exitContext);
+#endif
+ }
}
}