Files
lab-rv32i-freertos-c-scheduler/doc/assets/a5-flow-b.puml
T

37 lines
1.0 KiB
Plaintext

@startuml
!include card-uml-style.iuml
scale 900 width
hide footbox
skinparam ParticipantPadding 16
participant "main" as Main
participant "Scheduler" as Scheduler
participant "tick hook" as Tick
participant "high probe" as High
participant "peerA" as A
participant "peerB" as B
participant "verifier" as Verify
A -> A : <b>08</b> marker before_raise
A -> Scheduler : vTaskPrioritySet(high, 3)
activate Scheduler
Scheduler -> High : <b>09</b> immediate higher-priority selection
activate High
High -> High : marker HIGH
High -> Scheduler : vTaskDelete(NULL)
deactivate High
Scheduler -> A : return to caller
deactivate Scheduler
||26||
A -> A : <b>10</b> marker after_raise; request stop
A -> Scheduler : self-delete after bounded cleanup
B -> Scheduler : <b>11</b> second peer finishes and self-deletes
||26||
Scheduler -> Verify : <b>12</b> lowest-priority verifier publishes PASS
note over Scheduler,Verify
Exact claim: marker projection before → HIGH → after.
Another Ready task may legally run before peerA is selected again.
end note
@enduml