37 lines
943 B
Plaintext
37 lines
943 B
Plaintext
@startuml
|
|
scale 600 width
|
|
skinparam backgroundColor transparent
|
|
skinparam shadowing false
|
|
skinparam defaultFontName Monospace
|
|
skinparam defaultFontSize 11
|
|
skinparam sequenceArrowColor #8095a1
|
|
skinparam sequenceLifeLineBorderColor #8095a1
|
|
title A5 FLOW — priority inheritance and bounded inversion
|
|
participant "Low p1" as L
|
|
participant Mutex as M
|
|
participant "High p3" as H
|
|
participant "Medium p2" as D
|
|
participant "Verifier p0" as V
|
|
L -> M : 02 take; protected=1
|
|
L -> H : create
|
|
activate H
|
|
H -> M : 03 take(portMAX_DELAY)
|
|
H --> L : Blocked; owner inherits p3
|
|
deactivate H
|
|
L -> L : 04 effective=3; holder=Low
|
|
L -> D : create
|
|
L -> L : 05 Medium Ready, started=0
|
|
L -> M : 06 give
|
|
activate H
|
|
M --> H : 07 acquire before give returns
|
|
H -> M : protected=2; give; delete
|
|
deactivate H
|
|
activate D
|
|
D -> D : 08 run after High
|
|
D -> D : delete
|
|
deactivate D
|
|
L -> L : 09 effective restored to p1
|
|
L -> V : completed
|
|
V -> V : 10 PASS + stable digest
|
|
@enduml
|