manager: use sd_notify() to notify parent systemd that we have finished startup
authorLennart Poettering <lennart@poettering.net>
Thu, 30 Jun 2011 00:15:41 +0000 (02:15 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 30 Jun 2011 00:15:41 +0000 (02:15 +0200)
Makefile.am
src/manager.c

index 8da2e1b..2a027c3 100644 (file)
@@ -546,7 +546,8 @@ libsystemd_core_la_SOURCES = \
        src/tcpwrap.c \
        src/cgroup-util.c \
        src/condition.c \
-        src/dbus-common.c
+        src/dbus-common.c \
+        src/sd-daemon.c
 
 libsystemd_core_la_CFLAGS = \
        $(AM_CFLAGS) \
index 0830e80..92a6dff 100644 (file)
@@ -58,6 +58,7 @@
 #include "special.h"
 #include "bus-errors.h"
 #include "exit-status.h"
+#include "sd-daemon.h"
 
 /* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
 #define GC_QUEUE_ENTRIES_MAX 16
@@ -2944,6 +2945,10 @@ void manager_check_finished(Manager *m) {
         }
 
         bus_broadcast_finished(m, kernel_usec, initrd_usec, userspace_usec, total_usec);
+
+        sd_notifyf(false,
+                   "READY=1\nSTATUS=Startup finished in %s.",
+                   format_timespan(sum, sizeof(sum), total_usec));
 }
 
 void manager_run_generators(Manager *m) {