chiark / gitweb /
fsckd: check if plymouth is running before attempting connection
[elogind.git] / src / fsckd / fsckd.c
index f24715cee31d7a87c608e93bac1eee1601cc7eb5..6b35fc26a2f69d3eedbb6658bd78198f4bcc71fd 100644 (file)
@@ -231,9 +231,12 @@ static int manager_connect_plymouth(Manager *m) {
         union sockaddr_union sa = PLYMOUTH_SOCKET;
         int r;
 
+        if (!plymouth_running())
+                return 0;
+
         /* try to connect or reconnect if sending a message */
         if (m->plymouth_fd >= 0)
-                return 0;
+                return 1;
 
         m->plymouth_fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0);
         if (m->plymouth_fd < 0)
@@ -278,6 +281,9 @@ static int manager_send_plymouth_message(Manager *m, const char *message) {
         r = manager_connect_plymouth(m);
         if (r < 0)
                 return r;
+        /* 0 means that plymouth isn't running, do not send any message yet */
+        else if (r == 0)
+                return 0;
 
         if (!m->plymouth_cancel_sent) {