internal void ReleaseLock()
{
IDisposable finish = null;
lock (_mutex)
{
//Enlightenment.Trace.AsyncLock_Unlocked(this);
if (_queue.IsEmpty)
{
_taken = false;
}
else
{
finish = _queue.Dequeue(_cachedKeyTask.Result);
}
}
if (finish != null)
{
finish.Dispose();
}
}