Currently, an invokeOnCompletion handle is used to enqueue StopJob upon a StartJob or RestartJob failure. This occurs only if the actionStack is empty. This is incorrect, as there could be jobs on the stack that are cancelled and will not be executed, leaving things in an improper state. A local variable should be utilized to pass to processStack indicating that the last startup action had failed, such that if nothing is on the stack after being processed, then to execute StopJob instead of stopping the processor.
Currently, an
invokeOnCompletion
handle is used to enqueueStopJob
upon aStartJob
orRestartJob
failure. This occurs only if theactionStack
is empty. This is incorrect, as there could be jobs on the stack that are cancelled and will not be executed, leaving things in an improper state. A local variable should be utilized to pass toprocessStack
indicating that the last startup action had failed, such that if nothing is on the stack after being processed, then to executeStopJob
instead of stopping the processor.