If start or restart fails, the temporary command queue should be destroyed. Currently, only a restart failure will call lifecycle.destroy if it is present (A service).
I think the simplest solution would be to add a invokeOnCompletion handle whereby upon start/restart failure, if the actionStack is empty, to enqueue StopDaemon so the processor loops again and shuts down.
If start or restart fails, the temporary command queue should be destroyed. Currently, only a restart failure will call
lifecycle.destroy
if it is present (A service).I think the simplest solution would be to add a
invokeOnCompletion
handle whereby upon start/restart failure, if theactionStack
is empty, to enqueueStopDaemon
so the processor loops again and shuts down.