37 lines
1.0 KiB
Plaintext
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
|