Fix potential issue stopping process services.
authorDavin McCall <davmac@davmac.org>
Thu, 28 Dec 2017 00:07:32 +0000 (00:07 +0000)
committerDavin McCall <davmac@davmac.org>
Thu, 28 Dec 2017 00:07:32 +0000 (00:07 +0000)
commit690823052ca657b32835d5bff3c20c387995c6cc
tree6e078a787485b18fc5bf183f95266672f82ccbce
parent16fe697820574aa91d2c379b6b3681bb06c4fdf4
Fix potential issue stopping process services.

Process services undergoing smooth recovery count as "STARTED" but have
a pid of -1, or a valid pid but with a process launch underway (waiting
for exec status). If all dependencies stopped at the wrong time, the
behaviour was to treat the service as stopped, but the smooth recovery
was still kicking on and could cause an issue if it "succeeded" after
the service was supposedly terminated.

To resolve this, don't send a kill signal to a process during smooth
recovery (i.e. if waiting_for_execstat is true) and send it once
recovery has completed instead.
src/service.cc
src/service.h