diff --git a/Enyim.Caching/Memcached/MemcachedNode.cs b/Enyim.Caching/Memcached/MemcachedNode.cs index 830649f9..9759614d 100755 --- a/Enyim.Caching/Memcached/MemcachedNode.cs +++ b/Enyim.Caching/Memcached/MemcachedNode.cs @@ -445,6 +445,8 @@ public IPooledSocketResult Acquire() // maybe we died while waiting if (!this.isAlive) { + _semaphore.Release(); + message = "Pool is dead, returning null. " + _endPoint; if (_isDebugEnabled) _logger.LogDebug(message); result.Fail(message); @@ -474,6 +476,8 @@ public IPooledSocketResult Acquire() _logger.LogError(message, e); this.MarkAsDead(); + _semaphore.Release(); + result.Fail(message, e); return result; }