17 references to semaphore
System.Data (17)
fx\src\data\System\Data\SqlClient\SqlInternalConnectionTds.cs (17)
226Monitor.Enter(semaphore); // semaphore is used as lock object, no relation to SemaphoreSlim.Wait/Release methods 227if (canReleaseFromAnyThread || semaphore.CurrentCount==0) { 228semaphore.Wait(); 230Monitor.Exit(semaphore); 233semaphore.Release(); 242Monitor.TryEnter(semaphore, timeout, ref hasMonitor); // semaphore is used as lock object, no relation to SemaphoreSlim.Wait/Release methods 244if ((canReleaseFromAnyThread) || (semaphore.CurrentCount == 0)) { 245if (semaphore.Wait(timeout)) { 247Monitor.Exit(semaphore); 251semaphore.Release(); 264Monitor.Exit(semaphore); 271if (semaphore.CurrentCount==0) { // semaphore methods were used for locking 272semaphore.Release(); 275Monitor.Exit(semaphore); 282return semaphore.CurrentCount==0; 288return Monitor.IsEntered(semaphore) || semaphore.CurrentCount == 0;