summaryrefslogtreecommitdiff
path: root/src/core/manager.h
diff options
context:
space:
mode:
authorFranck Bui <fbui@suse.com>2018-06-01 18:21:03 +0200
committerLennart Poettering <lennart@poettering.net>2018-06-13 18:52:27 +0200
commitbda7d78ba178e70c2279261a77be83f755ad0e49 (patch)
treea2b12ccca9a86c0280e1e3e8f1fafff045cb3016 /src/core/manager.h
parenta6ecbf836c1e70cdf05a1ad6b78c86c5aef4dca3 (diff)
downloadsystemd-bda7d78ba178e70c2279261a77be83f755ad0e49.tar.gz
pid1: preserve current value of log target across re-{load,execution}
To make debugging easier, this patches allows one to change the log target and do reload/reexec without modifying configuration permanently, which makes debugging easier. Indeed if one changed the log target at runtime (via the bus or via signals), the change was lost on the next reload/reexecution. In order to restore back the default value (set via system.conf, environment variables or any other means ), the empty string in the "LogTarget" property is now supported as well as sending SIGTRMIN+26 signal.
Diffstat (limited to 'src/core/manager.h')
-rw-r--r--src/core/manager.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/manager.h b/src/core/manager.h
index fb28316b8e..4555a4ff15 100644
--- a/src/core/manager.h
+++ b/src/core/manager.h
@@ -303,7 +303,9 @@ struct Manager {
usec_t default_timer_accuracy_usec;
int original_log_level;
+ LogTarget original_log_target;
bool log_level_overridden:1;
+ bool log_target_overridden:1;
struct rlimit *rlimit[_RLIMIT_MAX];
@@ -471,6 +473,9 @@ void manager_unref_console(Manager *m);
void manager_override_log_level(Manager *m, int level);
void manager_restore_original_log_level(Manager *m);
+void manager_override_log_target(Manager *m, LogTarget target);
+void manager_restore_original_log_target(Manager *m);
+
const char *manager_state_to_string(ManagerState m) _const_;
ManagerState manager_state_from_string(const char *s) _pure_;