Assert.IsTrue (v.TryEnterReadLock (100), "#3");
}
+ [Test]
+ public void RecursiveReadPlusWriteLockTest ()
+ {
+ var v = new ReaderWriterLockSlim (LockRecursionPolicy.SupportsRecursion);
+
+ try {
+ v.EnterReadLock ();
+ v.EnterWriteLock ();
+ Assert.Fail ("1");
+ } catch (LockRecursionException ex) {
+ Assert.IsNotNull (ex, "#1");
+ }
+ }
+
+ [Test]
+ public void RecursiveReadPlusUpgradeableLockTest ()
+ {
+ var v = new ReaderWriterLockSlim (LockRecursionPolicy.SupportsRecursion);
+
+ try {
+ v.EnterReadLock ();
+ v.EnterUpgradeableReadLock ();
+ Assert.Fail ("1");
+ } catch (LockRecursionException ex) {
+ Assert.IsNotNull (ex, "#1");
+ }
+ }
+
[Test]
public void RecursiveWriteLockTest ()
{