chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: rename ReadOnlySystem= to ProtectSystem= and add a third value for also mountin...
[elogind.git]
/
src
/
core
/
manager.h
diff --git
a/src/core/manager.h
b/src/core/manager.h
index e014abd04f6e6544ee08bd8a365668f1243f6ab1..f2c1b0d227699e06fa3fa4b5156a39ded3f3c4af 100644
(file)
--- a/
src/core/manager.h
+++ b/
src/core/manager.h
@@
-35,8
+35,18
@@
typedef struct Manager Manager;
typedef struct Manager Manager;
-typedef enum ManagerExitCode {
+typedef enum ManagerState {
+ MANAGER_STARTING,
MANAGER_RUNNING,
MANAGER_RUNNING,
+ MANAGER_DEGRADED,
+ MANAGER_MAINTENANCE,
+ MANAGER_STOPPING,
+ _MANAGER_STATE_MAX,
+ _MANAGER_STATE_INVALID = -1
+} ManagerState;
+
+typedef enum ManagerExitCode {
+ MANAGER_OK,
MANAGER_EXIT,
MANAGER_RELOAD,
MANAGER_REEXECUTE,
MANAGER_EXIT,
MANAGER_RELOAD,
MANAGER_REEXECUTE,
@@
-106,6
+116,12
@@
struct Manager {
Hashmap *watch_pids1; /* pid => Unit object n:1 */
Hashmap *watch_pids2; /* pid => Unit object n:1 */
Hashmap *watch_pids1; /* pid => Unit object n:1 */
Hashmap *watch_pids2; /* pid => Unit object n:1 */
+ /* A set contains all units which cgroup should be refreshed after startup */
+ Set *startup_units;
+
+ /* A set which contains all currently failed units */
+ Set *failed_units;
+
sd_event_source *run_queue_event_source;
char *notify_socket;
sd_event_source *run_queue_event_source;
char *notify_socket;
@@
-228,6
+244,8
@@
struct Manager {
bool default_memory_accounting;
bool default_blockio_accounting;
bool default_memory_accounting;
bool default_blockio_accounting;
+ usec_t default_timer_accuracy_usec;
+
struct rlimit *rlimit[_RLIMIT_MAX];
/* non-zero if we are reloading or reexecuting, */
struct rlimit *rlimit[_RLIMIT_MAX];
/* non-zero if we are reloading or reexecuting, */
@@
-321,3
+339,8
@@
void manager_flip_auto_status(Manager *m, bool enable);
Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path);
const char *manager_get_runtime_prefix(Manager *m);
Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path);
const char *manager_get_runtime_prefix(Manager *m);
+
+ManagerState manager_state(Manager *m);
+
+const char *manager_state_to_string(ManagerState m) _const_;
+ManagerState manager_state_from_string(const char *s) _pure_;