vault backup: 2025-03-17 21:47:45
This commit is contained in:
parent
ef080f08af
commit
110db2ace3
2 changed files with 24 additions and 4 deletions
|
@ -63,7 +63,27 @@ begin_T() :=
|
|||
birthdate(T) <- CLOCK + 1
|
||||
|
||||
X.read_T() :=
|
||||
if lc?(XX) !=
|
||||
if lc?(XX) != ⊥ then
|
||||
return lc(XX).val
|
||||
lc(XX) <- XX
|
||||
if lc(XX).date >= birthdate(T) then
|
||||
ABORT
|
||||
read_set(T) <- read_set(T) U {X}
|
||||
return lc(XX).val
|
||||
|
||||
X.write_T(v) :=
|
||||
if lc(XX) = ⊥ then
|
||||
lc(XX) <- newloc
|
||||
lc(XX).val <- v
|
||||
write_set(T) <- write_set(T) U {X}
|
||||
|
||||
try_to_commit_T() :=
|
||||
lock all read_set(T) U write_set(T)
|
||||
∀ X ∈ read_set(T)
|
||||
if XX.date >= birthdate(T) then
|
||||
release all locks
|
||||
ABORT
|
||||
|
||||
```
|
||||
|
||||
### Virtual World Consistency
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue