public static bool SpinUntil(MyFunc <bool> condition, int millisecondsTimeout)
{
ClientSpinWait sw = new ClientSpinWait();
ClientWatch watch = ClientWatch.StartNew();
while (!condition())
{
if (watch.ElapsedMilliseconds > millisecondsTimeout)
{
return(false);
}
sw.SpinOnce();
}
return(true);
}