private void AddToListWithLocking(ArrayList list, object value, object lockingObject)
{
if (Monitor.TryEnter(lockingObject, TimeSpan.FromSeconds(2.0d)))
{
try
{
list.Add(value);
}
catch
{
}
finally
{
Monitor.Exit(lockingObject);
}
}
else
{
throw new TimeoutException("AddToListWithLocking timed out waiting for lock to release.");
}
}