diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-02-03 02:01:35 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-02-03 05:06:03 +0100 |
commit | f42806df7de0f4669c1296ab66a7f8d8784dd0f2 (patch) | |
tree | 1370ad4cae0c1509aefdff30e4ebcd443bb010ed /src/service.h | |
parent | 680a1dbc354b2f437b4e06e27d4c43217977efdf (diff) |
service: replace "failure" boolean by enum, and export it
This should give admins more useful hints why a service failed.
Diffstat (limited to 'src/service.h')
-rw-r--r-- | src/service.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/service.h b/src/service.h index dbae68b80a..b1e8b90470 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; @@ -132,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; @@ -186,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 |