summaryrefslogtreecommitdiffstats
path: root/configd/src/apps/sentinel/service.h
diff options
context:
space:
mode:
Diffstat (limited to 'configd/src/apps/sentinel/service.h')
-rw-r--r--configd/src/apps/sentinel/service.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/configd/src/apps/sentinel/service.h b/configd/src/apps/sentinel/service.h
index 54bf1105a77..5a188f217ff 100644
--- a/configd/src/apps/sentinel/service.h
+++ b/configd/src/apps/sentinel/service.h
@@ -20,13 +20,14 @@ private:
pid_t _pid;
enum ServiceState { READY, STARTING, RUNNING, TERMINATING, KILLING,
+ RESTARTING, REMOVING,
FINISHED, TERMINATED, KILLED, FAILED } _rawState;
const enum ServiceState& _state;
int _exitStatus;
SentinelConfig::Service *_config;
bool _isAutomatic;
- static const int MAX_RESTART_PENALTY = 1800;
+ static const unsigned int MAX_RESTART_PENALTY = 1800;
unsigned int _restartPenalty;
time_t _last_start;
@@ -55,11 +56,13 @@ public:
int terminate() {
return terminate(true, false);
}
- int start();
+ void start();
+ void remove();
void youExited(int status); // Call this if waitpid says it exited
const vespalib::string & name() const;
const char *stateName() const { return stateName(_state); }
bool isRunning() const;
+ bool wantsRestart() const;
int exitStatus() const { return _exitStatus; }
const SentinelConfig::Service& serviceConfig() const { return *_config; }
void setAutomatic(bool autoStatus);