18 using System.Collections.Generic;
22 namespace Deveel.Data.Transactions {
24 private readonly List<Lock>
locks;
28 locks =
new List<Lock>();
50 Lockable.Released(@lock);
51 Monitor.PulseAll(
this);
58 if (!locks.Contains(@lock))
59 throw new InvalidOperationException(
"Queue does not contain the given Lock");
68 index = locks.IndexOf(@lock);
71 for (i = index - 1; i >= 0 && !blocked; --i) {
72 var testLock = locks[i];
85 index = locks.IndexOf(@lock);
void CheckAccess(Lock @lock)
LockingQueue(ILockable lockable)
readonly List< Lock > locks