Skip to content

Instantly share code, notes, and snippets.

@mem
Created May 30, 2019 18:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mem/7ecfdf3c9a6f7e77bca03fef9c88cba4 to your computer and use it in GitHub Desktop.
Save mem/7ecfdf3c9a6f7e77bca03fef9c88cba4 to your computer and use it in GitHub Desktop.
@startuml
autonumber
hide footbox
participant "wrapper\n(stage 2)" as wrapper
participant "stage 1" as stage_1
participant master
participant "rpc server" as rpc_server
activate wrapper
wrapper -> stage_1 ** : spawn
activate stage_1
note over stage_1: prepare config
stage_1 -> wrapper: send config
deactivate stage_1
note over wrapper: create socket pair A
note over wrapper: create socket pair B
wrapper -> master ** : spawn
note over wrapper: close A[0]
activate master
note over master: close A[1]
note over master: close B[0]
wrapper -> rpc_server ** : spawn
note over rpc_server: close B[1]
note over wrapper: close B[0]
note over wrapper: close B[1]
activate rpc_server
master -> rpc_server: request open over B[1]
rpc_server -> master: send fd over B[0]
note over master: mount passing\nfd as option
note over wrapper: enter stage 2
note over wrapper: start pre-process\nuse fd
master -> wrapper: send fd over A[0]
note over wrapper: start process
@enduml
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment