aboutsummaryrefslogtreecommitdiff
path: root/doc/puml/exec-seq.puml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/puml/exec-seq.puml')
-rw-r--r--doc/puml/exec-seq.puml37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/puml/exec-seq.puml b/doc/puml/exec-seq.puml
new file mode 100644
index 0000000..cffc5b0
--- /dev/null
+++ b/doc/puml/exec-seq.puml
@@ -0,0 +1,37 @@
+@startuml exec-seq
+"A" -> "S": +RUN_CMD
+"A" -> "S": Command Frame
+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