diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-30 02:21:48 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-30 02:21:48 +0200 |
commit | 6faa11140bf776cdaeb8d22d01816e6e48296971 (patch) | |
tree | cb3857a75f2f40727d026aecfa00883505758f61 | |
parent | 871c44a747a8bf4465cbfda445216e9ac66d4a40 (diff) |
status: show status messages unconditionally if plymouth is around
-rw-r--r-- | src/main.c | 7 | ||||
-rw-r--r-- | src/unit.c | 5 | ||||
-rw-r--r-- | src/util.c | 4 | ||||
-rw-r--r-- | src/util.h | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c index 176a4f5ecb..b43d8eca91 100644 --- a/src/main.c +++ b/src/main.c @@ -1093,11 +1093,6 @@ int main(int argc, char *argv[]) { goto finish; } - /* If Plymouth is being run make sure we show the status, so - * that there's something nice to see when people press Esc */ - if (access("/run/initramfs/plymouth", F_OK) >= 0) - arg_show_status = true; - if (arg_action == ACTION_HELP) { retval = help(); goto finish; @@ -1177,7 +1172,7 @@ int main(int argc, char *argv[]) { if (arg_running_as == MANAGER_SYSTEM && !serialization) { locale_setup(); - if (arg_show_status) + if (arg_show_status || plymouth_running()) status_welcome(); kmod_setup(); diff --git a/src/unit.c b/src/unit.c index a2953a6bcb..b684649224 100644 --- a/src/unit.c +++ b/src/unit.c @@ -2254,7 +2254,10 @@ void unit_status_printf(Unit *u, const char *format, ...) { if (u->meta.manager->running_as != MANAGER_SYSTEM) return; - if (!u->meta.manager->show_status) + /* If Plymouth is running make sure we show the status, so + * that there's something nice to see when people press Esc */ + + if (!u->meta.manager->show_status && !plymouth_running()) return; if (!manager_is_booting_or_shutting_down(u->meta.manager)) diff --git a/src/util.c b/src/util.c index fada69cf1a..5e101e4417 100644 --- a/src/util.c +++ b/src/util.c @@ -4188,6 +4188,10 @@ bool nulstr_contains(const char*nulstr, const char *needle) { return false; } +bool plymouth_running(void) { + return access("/run/initramfs/plymouth", F_OK) >= 0; +} + static const char *const ioprio_class_table[] = { [IOPRIO_CLASS_NONE] = "none", [IOPRIO_CLASS_RT] = "realtime", diff --git a/src/util.h b/src/util.h index 04afc731e9..dfbfa8b04d 100644 --- a/src/util.h +++ b/src/util.h @@ -392,6 +392,8 @@ int kill_and_sigcont(pid_t pid, int sig); bool nulstr_contains(const char*nulstr, const char *needle); +bool plymouth_running(void); + #define NULSTR_FOREACH(i, l) \ for ((i) = (l); (i) && *(i); (i) = strchr((i), 0)+1) |