41 lines
955 B
Plaintext
41 lines
955 B
Plaintext
@startuml
|
|
scale max 900*520
|
|
skinparam backgroundColor transparent
|
|
skinparam shadowing false
|
|
skinparam defaultFontName "DejaVu Sans Mono"
|
|
skinparam defaultFontSize 13
|
|
skinparam objectBorderColor #2b6f8e
|
|
skinparam objectBackgroundColor #edf6fa
|
|
skinparam ArrowColor #8295a0
|
|
left to right direction
|
|
title A7 RUNTIME — checkpoint 06, sender blocked on a full queue
|
|
|
|
object "01 g_fc05" as Exp {
|
|
waiting_when_full = 1
|
|
sender_state_when_full = eBlocked
|
|
}
|
|
object "02 queue object" as Queue {
|
|
uxMessagesWaiting = 1
|
|
storage = M2 {2, 0x2222, checksum}
|
|
}
|
|
object "03 sender TCB" as Sender {
|
|
state = Blocked
|
|
pending = M3
|
|
sp = sender_sp
|
|
}
|
|
object "04 receiver TCB" as Receiver {
|
|
state = Running
|
|
sp = receiver_sp
|
|
}
|
|
object "05 source on sender stack" as Source {
|
|
sequence = 2
|
|
payload = 0xDEAD
|
|
}
|
|
|
|
Exp --> Queue
|
|
Queue --> Sender : send wait list
|
|
Receiver --> Queue : next receive
|
|
Sender --> Source
|
|
Queue .. Source : different bytes / ownership
|
|
@enduml
|