Using s6-rc, I am not sure how to handle longrun failures. Say I have a daemon 
which fails to start (e.g. missing library, cannot read its config...). I don't 
want to start it again. For oneshot transitions the return code determines 
whether the transition is successful or not. For longruns I see the only reason 
for an up transition to fail is a timeout on readiness notification. However I 
do not want to use a timeout in this case. Typically, in the finish script of a 
longrun service, I would like to decide, based on the return code or signal 
number, to put the service down. I cannot call "s6-rc -d change" because 
probably s6-rc is already in the middle of a state transition which caused the 
daemon to start. I can call "s6-svc -d ." but then I bypass s6-rc which will 
have a corrupted state.

Any recommendation on how to implement this?



Reply via email to