chiark / gitweb /
status: show status messages unconditionally if plymouth is around
authorLennart Poettering <lennart@poettering.net>
Wed, 30 Mar 2011 00:21:48 +0000 (02:21 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 30 Mar 2011 00:21:48 +0000 (02:21 +0200)
src/main.c
src/unit.c
src/util.c
src/util.h

index 176a4f5ecbbb4be8e9c6712ce32e657bbbf9a35d..b43d8eca918ffa9d94afdb5fa57fa430381aeb5f 100644 (file)
@@ -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();
index a2953a6bcb801abfb5683a4d6c34aac24a08146e..b68464922401885afb73a4b9e47c1f5731b5d419 100644 (file)
@@ -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))
index fada69cf1a981893f85998ac2da465865a2d0074..5e101e44178fcee9a73d1e080562bf257ef454a0 100644 (file)
@@ -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",
index 04afc731e9d29f1d48fb518ee78cefb17f0fc856..dfbfa8b04dd73c6ae46ff77088a7b51d8316f1c1 100644 (file)
@@ -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)