chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update TODO
[elogind.git]
/
src
/
core
/
service.h
diff --git
a/src/core/service.h
b/src/core/service.h
index f4ccc2b5a0454d39118eb0ec7a1ef2d62c47c44d..d1e53bf727fa0a97ffc1b848659ca085f8be398b 100644
(file)
--- a/
src/core/service.h
+++ b/
src/core/service.h
@@
-1,7
+1,6
@@
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-#ifndef fooservicehfoo
-#define fooservicehfoo
+#pragma once
/***
This file is part of systemd.
/***
This file is part of systemd.
@@
-28,6
+27,8
@@
typedef struct Service Service;
#include "path.h"
#include "ratelimit.h"
#include "service.h"
#include "path.h"
#include "ratelimit.h"
#include "service.h"
+#include "kill.h"
+#include "exit-status.h"
typedef enum ServiceState {
SERVICE_DEAD,
typedef enum ServiceState {
SERVICE_DEAD,
@@
-97,6
+98,7
@@
typedef enum ServiceResult {
SERVICE_FAILURE_SIGNAL,
SERVICE_FAILURE_CORE_DUMP,
SERVICE_FAILURE_WATCHDOG,
SERVICE_FAILURE_SIGNAL,
SERVICE_FAILURE_CORE_DUMP,
SERVICE_FAILURE_WATCHDOG,
+ SERVICE_FAILURE_START_LIMIT,
_SERVICE_RESULT_MAX,
_SERVICE_RESULT_INVALID = -1
} ServiceResult;
_SERVICE_RESULT_MAX,
_SERVICE_RESULT_INVALID = -1
} ServiceResult;
@@
-115,19
+117,24
@@
struct Service {
ServiceType type;
ServiceRestart restart;
ServiceType type;
ServiceRestart restart;
+ ExitStatusSet restart_ignore_status;
+ ExitStatusSet success_status;
/* If set we'll read the main daemon PID from this file */
char *pid_file;
usec_t restart_usec;
/* If set we'll read the main daemon PID from this file */
char *pid_file;
usec_t restart_usec;
- usec_t timeout_usec;
+ usec_t timeout_start_usec;
+ usec_t timeout_stop_usec;
dual_timestamp watchdog_timestamp;
usec_t watchdog_usec;
Watch watchdog_watch;
ExecCommand* exec_command[_SERVICE_EXEC_COMMAND_MAX];
dual_timestamp watchdog_timestamp;
usec_t watchdog_usec;
Watch watchdog_watch;
ExecCommand* exec_command[_SERVICE_EXEC_COMMAND_MAX];
+
ExecContext exec_context;
ExecContext exec_context;
+ KillContext kill_context;
ServiceState state, deserialized_state;
ServiceState state, deserialized_state;
@@
-164,6
+171,7
@@
struct Service {
bool bus_name_good:1;
bool forbid_restart:1;
bool got_socket_fd:1;
bool bus_name_good:1;
bool forbid_restart:1;
bool got_socket_fd:1;
+ bool start_timeout_defined:1;
#ifdef HAVE_SYSV_COMPAT
bool is_sysv:1;
bool sysv_has_lsb:1;
#ifdef HAVE_SYSV_COMPAT
bool is_sysv:1;
bool sysv_has_lsb:1;
@@
-215,5
+223,3
@@
ServiceResult service_result_from_string(const char *s);
const char* start_limit_action_to_string(StartLimitAction i);
StartLimitAction start_limit_action_from_string(const char *s);
const char* start_limit_action_to_string(StartLimitAction i);
StartLimitAction start_limit_action_from_string(const char *s);
-
-#endif