Exemplo n.º 1
0
		internal virtual void Remove(CacheRecord record, CacheBase.RemoveExpectation removeExpectation)
		{
			Monitor.Enter(this);
			try
			{
				bool flag = this.cache.Remove(record.GetFuture());
				D.Assert(removeExpectation == CacheBase.RemoveExpectation.Unknown || removeExpectation == CacheBase.RemoveExpectation.Present == flag, "Remove didn't meet expectations. That could suggest a mutating hash.");
				this.resourceCounter.crement(-1);
				record.DropReference();
			}
			finally
			{
				Monitor.Exit(this);
			}
		}
Exemplo n.º 2
0
 internal virtual void Remove(CacheRecord record, CacheBase.RemoveExpectation removeExpectation)
 {
     Monitor.Enter(this);
     try
     {
         bool flag = this.cache.Remove(record.GetFuture());
         D.Assert(removeExpectation == CacheBase.RemoveExpectation.Unknown || removeExpectation == CacheBase.RemoveExpectation.Present == flag, "Remove didn't meet expectations. That could suggest a mutating hash.");
         this.resourceCounter.crement(-1);
         record.DropReference();
     }
     finally
     {
         Monitor.Exit(this);
     }
 }