Eu tenho um programa que desejo executar sob demanda, launchd
executando o seguinte comando:
/usr/local/bin/godoc -http=:6060
Este programa inicia um aplicativo HTTP que escuta na porta designada 6060.
Na minha lista de propriedades eu tenho
<key>Sockets</key>
<dict>
<key>default</key>
<dict>
<key>SockNodeName</key>
<string>localhost</string>
<key>SockServiceName</key>
<integer>6060</integer>
<key>SockPassive</key>
<true/>
</dict>
</dict>
No entanto, quando inicio o daemon, a saída do aplicativo para stderr é:
ListenAndServe :6060: listen tcp :6060: bind: address already in use
Pelo que entendi, launchd
ele cria o soquete e o passa para o aplicativo, mas este aplicativo está tentando criar o soquete novamente e falha.
Quais opções eu tenho para executar isso sob launchd
demanda?