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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2014-01-27 23:17:03 -05:00
parent 65b3903ff5
commit d450b6f2a9
8 changed files with 106 additions and 29 deletions
+29
View File
@@ -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,