summaryrefslogtreecommitdiff
path: root/src/shared/conf-parser.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-27 22:27:07 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-27 23:17:03 -0500
commitd450b6f2a9dd8a7fb14e9f8f771ddd70de7afc5e (patch)
treed44a69835242d48ad8b2dd2e947a31df3da708cd /src/shared/conf-parser.c
parent65b3903ff576488eaabb51d3c4fbf9c73d867d7c (diff)
manager: add systemd.show_status=auto mode
When set to auto, status will shown when the first ephemeral message is shown (a job has been running for five seconds). Then until the boot or shutdown ends, status messages will be shown. No indication about the switch is done: I think it should be clear for the user that first the cylon eye and the ephemeral messages appear, and afterwards messages are displayed. The initial arming of the event source was still wrong, but now should really be fixed.
Diffstat (limited to 'src/shared/conf-parser.c')
-rw-r--r--src/shared/conf-parser.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
index 1e3cee5beb..df4e961ea0 100644
--- a/src/shared/conf-parser.c
+++ b/src/shared/conf-parser.c
@@ -528,6 +528,35 @@ int config_parse_bool(const char* unit,
return 0;
}
+int config_parse_show_status(const char* unit,
+ const char *filename,
+ unsigned line,
+ const char *section,
+ unsigned section_line,
+ const char *lvalue,
+ int ltype,
+ const char *rvalue,
+ void *data,
+ void *userdata) {
+
+ int k;
+ ShowStatus *b = data;
+
+ assert(filename);
+ assert(lvalue);
+ assert(rvalue);
+ assert(data);
+
+ k = parse_show_status(rvalue, b);
+ if (k < 0) {
+ log_syntax(unit, LOG_ERR, filename, line, -k,
+ "Failed to parse show status setting, ignoring: %s", rvalue);
+ return 0;
+ }
+
+ return 0;
+}
+
int config_parse_string(const char *unit,
const char *filename,
unsigned line,