summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-06-30 02:15:41 +0200
committerLennart Poettering <lennart@poettering.net>2011-06-30 02:15:41 +0200
commit530345e78299951c3a151c93d77e5adbe421bc68 (patch)
tree4f2aa6aa7ab5c25faee4f78d9757c77ebf82f728
parent3b8bdddeffbbb9569ae68018bf2942cf73befc85 (diff)
manager: use sd_notify() to notify parent systemd that we have finished startup
-rw-r--r--Makefile.am3
-rw-r--r--src/manager.c5
2 files changed, 7 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 8da2e1bbee..2a027c3855 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -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) \
diff --git a/src/manager.c b/src/manager.c
index 0830e8020e..92a6dff144 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -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) {