summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--monitor/main.cpp10
2 files changed, 12 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 382cb72..4ee8717 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,8 @@ PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus], ,
[AC_MSG_ERROR([The openbmc/sdbusplus package is required])])
PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging], ,
[AC_MSG_ERROR([The openbmc/phosphor-logging package is required])])
+PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221], ,
+[AC_MSG_ERROR([Could not find systemd...systemd developement package required])])
# Checks for library functions.
LT_INIT # Required for systemd linking
diff --git a/monitor/main.cpp b/monitor/main.cpp
index 5da6a5b..b9c1d81 100644
--- a/monitor/main.cpp
+++ b/monitor/main.cpp
@@ -15,6 +15,7 @@
*/
#include <phosphor-logging/log.hpp>
#include <sdbusplus/bus.hpp>
+#include <systemd/sd-daemon.h>
#include "event.hpp"
#include "fan.hpp"
#include "fan_defs.hpp"
@@ -48,6 +49,15 @@ int main()
fans.emplace_back(std::make_unique<Fan>(bus, eventPtr, fanDef));
}
+ //Tell systemd we are initialized
+ r = sd_notify(0, "READY=1");
+ if (r < 1) // 0 = nothing sent, < 0 is a failure
+ {
+ log<level::ERR>("sd_notify did not send anything",
+ entry("ERROR=%d", r));
+ return -1;
+ }
+
r = sd_event_loop(eventPtr.get());
if (r < 0)
{
OpenPOWER on IntegriCloud