private DeepRecursion ( string &message ) : void | ||
message | string | |
return | void |
public static void DeepRecursion(ref string message)
{
var obj = new object();
var hc = obj.GetHashCode();
// reduced from "(long)int.MaxValue + 2;" to something that will return in a more meaningful time
const int limit = 10000;
for (var i = 0L; i < limit; i++)
{
Assert.True(Monitor.TryEnter(obj));
}
for (var j = 0L; j < (limit - 1); j++)
{
Monitor.Exit(obj);
Assert.True(Monitor.IsEntered(obj));
}
Monitor.Exit(obj);
Assert.True(Monitor.IsEntered(obj));
}