vault backup: 2025-04-02 23:40:03

This commit is contained in:
Marco Realacci 2025-04-02 23:40:03 +02:00
parent 7fe9332a40
commit 2b1d06acbc

View file

@ -1,34 +1,36 @@
```
GLOB_MUTEX and R_MUTEX semaphores init. at 1
GLOB_MUTEX, W_MUTEX, PR_MUTEX and R_MUTEX semaphores init. at 1
R a shared register init. at 0
begin_read() :=
PR_MUTEX.down()
PRR_MUTEX.down()
R_MUTEX.down()
R++ # currently active readers
if R = 1 then
W_MUTEX.down()
PRW_MUTEX.down()
GLOB_MUTEX.down()
R_MUTEX.up()
PR_MUTEX.up()
PRR_MUTEX.up()
return
end_read() :=
R_MUTEX.down()
R--
if R = 0 then GLOB_MUTEX.up()
if R = 0 then
GLOB_MUTEX.up()
PRW_MUTEX.up()
R_MUTEX.up()
return
begin_write() :=
W_MUTEX.down()
W_MUTEX.up()
PR_MUTEX.down()
PRR_MUTEX.down()
PRW_MUTEX.down()
PRW_MUTEX.up()
GLOB_MUTEX.down()
return
end_write() :=
PR_MUTEX.up()
PRR_MUTEX.up()
GLOB_MUTEX.up()
return
```