vault backup: 2025-03-17 09:54:23
This commit is contained in:
parent
cd407da403
commit
8a87dd23d7
1 changed files with 19 additions and 0 deletions
|
@ -68,5 +68,24 @@ operation begin_read() :=
|
||||||
if AW != 0 then
|
if AW != 0 then
|
||||||
CR.wait()
|
CR.wait()
|
||||||
CR.signal()
|
CR.signal()
|
||||||
|
AR++
|
||||||
|
WR--
|
||||||
|
|
||||||
|
operation end_read() :=
|
||||||
|
AR--
|
||||||
|
if AR + WR = 0 then
|
||||||
|
CW.signal()
|
||||||
|
|
||||||
|
operation begin_write() :=
|
||||||
|
if (AR+WR != 0 or AW != 0) then
|
||||||
|
CW.wait()
|
||||||
|
AW++
|
||||||
|
|
||||||
|
operation end_write() :=
|
||||||
|
AW--
|
||||||
|
if WR > 0 then
|
||||||
|
CR.signal()
|
||||||
|
else
|
||||||
|
CW.signal()
|
||||||
|
|
||||||
```
|
```
|
Loading…
Add table
Add a link
Reference in a new issue