| Plantuml source file (for later edit) |
| // Style |
| |
| skinparam backgroundColor #FFFFFF |
| |
| skinparam sequence { |
| ActorBorderColor DeepSkyBlue |
| ArrowColor #4a6484 |
| |
| LifeLineBorderColor #4a6484 |
| ParticipantBackgroundColor #91c6ff |
| ParticipantBorderColor black |
| BoxBorderColor black |
| } |
| |
| |
| //posix no error |
| /** |
| \plantuml |
| activate Father |
| |
| box "Child Process" #LightGrey |
| participant Child |
| participant Exe |
| end box |
| |
| Father->Father : on_setup |
| activate Father |
| deactivate Father |
| Father->Child : fork |
| activate Child |
| Father -> Father : wait for error |
| deactivate Father |
| |
| |
| Child->Child : on_exec_setup |
| activate Child |
| deactivate Child |
| Child->Exe : execve |
| deactivate Child |
| activate Father |
| activate Exe |
| |
| Father -> Father : on_success |
| activate Father |
| deactivate Father |
| |
| \endplantuml */ |
| |
| //posix exec error |
| /** |
| \plantuml |
| activate Father |
| |
| Father->Father : on_setup |
| activate Father |
| deactivate Father |
| Father->Child : fork |
| activate Child |
| Father -> Father : wait for error |
| deactivate Father |
| |
| Child->Child : on_exec_setup |
| activate Child |
| deactivate Child |
| Child->Child : execve |
| Child->Child : on_exec_error |
| activate Child |
| deactivate Child |
| Child->Father : report |
| deactivate Child |
| activate Father |
| Father -> Father : on_error |
| activate Father |
| deactivate Father |
| \endplantuml |
| |
| //posix fork error |
| \plantuml |
| activate Father |
| |
| Father->Father : on_setup |
| activate Father |
| deactivate Father |
| Father->Father : fork |
| Father -> Father : on_fork_error |
| activate Father |
| deactivate Father |
| Father -> Father : on_error |
| activate Father |
| deactivate Father |
| \endplantuml |
| |
| |
| //windows. |
| \plantuml |
| activate Father |
| |
| Father->Father : on_setup |
| activate Father |
| deactivate Father |
| Father->Child : CreateProcess |
| activate Child |
| |
| alt Successful Launch |
| |
| Father -> Father : on_success |
| activate Father |
| deactivate Father |
| |
| else Error during launch |
| |
| Father -> Father : on_error |
| activate Father |
| deactivate Father |
| |
| end |
| \endplantuml |