public override void Run()
{
try
{
if (VERBOSE)
{
Console.WriteLine("[" + Thread.CurrentThread.Name + "]: launch reopen thread");
}
while (DateTime.UtcNow < StopTime)
{
Thread.Sleep(TestUtil.NextInt(Random(), 1, 100));
OuterInstance.Writer.Commit();
Thread.Sleep(TestUtil.NextInt(Random(), 1, 5));
bool block = Random().NextBoolean();
if (block)
{
OuterInstance.Mgr.MaybeRefreshBlocking();
OuterInstance.LifetimeMGR.Prune(OuterInstance.Pruner);
}
else if (OuterInstance.Mgr.MaybeRefresh())
{
OuterInstance.LifetimeMGR.Prune(OuterInstance.Pruner);
}
}
}
catch (Exception t)
{
if (VERBOSE)
{
Console.WriteLine("TEST: reopen thread hit exc");
Console.Out.Write(t.StackTrace);
}
OuterInstance.Failed.Set(true);
throw new Exception(t.Message, t);
}
}
}