From db1183a1166cd6cf5e4e1c692273b428abd87fe9 Mon Sep 17 00:00:00 2001 From: Marco Realacci Date: Tue, 25 Mar 2025 16:17:22 +0100 Subject: [PATCH] vault backup: 2025-03-25 16:17:22 --- .../notes/8 - Enhancing Liveness Properties.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md b/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md index 38625cc..f79eb8c 100644 --- a/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md +++ b/Concurrent Systems/notes/8 - Enhancing Liveness Properties.md @@ -25,7 +25,7 @@ need_help(i) := NEED_HELP[i] <- true repeat X <- {j : NEED_HELP[j]} - until ev_leader(X) = i # loopa finché ev_leader non uguale per tutti + until ev_leader(X) = i # loopa finché non è lui stesso il leader (PER TUTTI) stop_help(i) := NEED_HELP[i] <- false @@ -43,7 +43,9 @@ Let Q be the set of proc.'s that performed these invocations. **Observation:** $Q \subseteq X$ (it is possible that $p_j$ sets `NEED_HELP[j]` and then fails) By definition of $\Omega_{X}, \exists \tau'' \geq t'$ s.t. all proc.'s in Q have the same `ev_leader(X)` -- the leader belongs to Q, since it cannot be failed and is involved i +- the leader belongs to Q, since + - it is involved in the contention + - it can't be failed (by definition of `ev_leader`) - this is the only process allowed to proceed - because run in isolation, it eventually terminates (because of obstruction freedom)