X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fservice.h;h=b1e8b90470cd3ebe36f0b40acd154039c8032ac2;hb=refs%2Ftags%2Fv40;hp=0b4f8be8399a36a0036fdf58ee4bcb320af39f7e;hpb=ac155bb885f9ea8aac3979a6b2686f0c8a9cc6e3;p=elogind.git diff --git a/src/service.h b/src/service.h index 0b4f8be83..b1e8b9047 100644 --- a/src/service.h +++ b/src/service.h @@ -88,6 +88,17 @@ typedef enum NotifyAccess { _NOTIFY_ACCESS_INVALID = -1 } NotifyAccess; +typedef enum ServiceResult { + SERVICE_SUCCESS, + SERVICE_FAILURE_RESOURCES, + SERVICE_FAILURE_TIMEOUT, + SERVICE_FAILURE_EXIT_CODE, + SERVICE_FAILURE_SIGNAL, + SERVICE_FAILURE_CORE_DUMP, + _SERVICE_RESULT_MAX, + _SERVICE_RESULT_INVALID = -1 +} ServiceResult; + struct Service { Unit meta; @@ -100,6 +111,8 @@ struct Service { usec_t restart_usec; usec_t timeout_usec; + dual_timestamp watchdog_timestamp; + ExecCommand* exec_command[_SERVICE_EXEC_COMMAND_MAX]; ExecContext exec_context; @@ -130,8 +143,8 @@ struct Service { bool guess_main_pid; /* If we shut down, remember why */ - bool failure:1; - bool reload_failure:1; + ServiceResult result; + ServiceResult reload_result; bool main_pid_known:1; bool main_pid_alien:1; @@ -184,4 +197,7 @@ ServiceExecCommand service_exec_command_from_string(const char *s); const char* notify_access_to_string(NotifyAccess i); NotifyAccess notify_access_from_string(const char *s); +const char* service_result_to_string(ServiceResult i); +ServiceResult service_result_from_string(const char *s); + #endif