Strict Two-Phase Locking
Lock implementation
Locking
bool grant_lock_immediately(entry, lock_mode)
{
return
queue.empty()
and ( (lock_mode is SHARED
and (entry.lock_mode is UNLOCKED or SHARED))
or
(lock_mode is EXCLUSIVE
and entry.lock_mode is UNLOCKED))
}
|