Ejemplo n.º 1
0
 public void ReleaseConnection(Driver driver)
 {
     lock (((ICollection)this.inUsePool).SyncRoot) {
         if (this.inUsePool.Contains(driver))
         {
             this.inUsePool.Remove(driver);
         }
     }
     if (driver.IsTooOld() || this.beingCleared)
     {
         driver.Close();
     }
     else
     {
         lock (((ICollection)this.idlePool).SyncRoot) {
             this.idlePool.Enqueue(driver);
         }
     }
     Interlocked.Increment(ref this.available);
     this.autoEvent.Set();
 }
Ejemplo n.º 2
0
		public void ReleaseConnection(Driver driver) {
			lock (((ICollection)this.inUsePool).SyncRoot) {
				if (this.inUsePool.Contains(driver)) {
					this.inUsePool.Remove(driver);
				}
			}
			if (driver.IsTooOld() || this.beingCleared) {
				driver.Close();
			} else {
				lock (((ICollection)this.idlePool).SyncRoot) {
					this.idlePool.Enqueue(driver);
				}
			}
			Interlocked.Increment(ref this.available);
			this.autoEvent.Set();
		}