diff options
Diffstat (limited to 'doc/puml/execbin-seq.puml')
-rw-r--r-- | doc/puml/execbin-seq.puml | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/puml/execbin-seq.puml b/doc/puml/execbin-seq.puml new file mode 100644 index 0000000..dd80607 --- /dev/null +++ b/doc/puml/execbin-seq.puml @@ -0,0 +1,51 @@ +@startuml execbin-seq +"A" -> "S": +RUN_BIN +"A" -> "S": Binary Meta Frame +"S" -> "S": open() tmpfile +"A" -> "S": +STDIO +"A" -> "S": STDIO Frame +"A" -> "S": Binary Data +"S" -> "S": write() +"A" -> "S": +STDIO +"A" -> "S": STDIO Frame +"A" -> "S": Binary Data +"S" -> "S": write() +Note across: Repeat ... +"A" -> "S": +STDIO +"A" -> "S": STDIO Frame, fin +"S" -> "S": close() + +Create P +"S" -> "P": fork(), exec() + +"A" -> "S": +STDIO +"A" -> "S": STDIO Frame +"A" -> "S": STDIO Data + +"S" -> "P": STDIO Data +"P" -> "S": STDIO Data + +"S" --> "A": STDIO +"S" --> "A": STDIO Frame +"S" --> "A": STDIO Data + +Note across: Repeat ... + +"A" -> "S": +STDIO +"A" -> "S": STDIO Frame len=0, fin +"S" -> "P": STDIN EOF + +"P" -> "S": STDOUT EOF +"S" --> "A": STDIO +"S" --> "A": STDIO Frame len=0, fin + +"P" -> "S": STDERR EOF +"S" --> "A": STDIO +"S" --> "A": STDIO Frame len=0, err, fin + +"P" -> "P": exit() +"S" <-> "P" !!: waitpid() +Note over "P": Process reaped +"S" --> "A": Status +"S" --> "A": Status Frame +@enduml |