As shown on this diagram:
@startuml
start
:Bind;
fork
repeat
:Listen admin<
:Execute;
:Reply admin>
repeat while (shutdown>) is (no)
fork again
repeat
:Listen user<;
:Reply user>
repeat while (forever)
detach
endfork
:Release;
@enduml

The repeat loop for forever is broken, I would expect that loop to look like this one:
@startuml
:previous
action}
repeat
:Listen user<;
:Reply user>
repeat while (forever)
@enduml

A similar problem happens on while loops
Besides these problems, great work!
Thank you!