ipmid: host-cmd-manager to use default event source for timers
The sdbusplus/timer.hpp class can be passed an event, but by default, it
just uses the default system event queue. This updates the
host-cmd-manager Manager class to use the defaults.
Tested-by: Send the heartbeat command with the host powered off and
watch for a timeout message:
dbus-send --print-reply --system \
--dest=xyz.openbmc_project.Ipmi.Host \
/xyz/openbmc_project/control/host0 \
xyz.openbmc_project.Control.Host.Execute \
string:"xyz.openbmc_project.Control.Host.Command.Heartbeat"
Watch the log (journalctl -f):
Nov 27 00:34:52 wolfpass ipmid[1255]: Pushing cmd on to queue
Nov 27 00:34:52 wolfpass ipmid[1255]: Pushing cmd on to queue
Nov 27 00:34:52 wolfpass ipmid[1255]: Asserting SMS Attention
Nov 27 00:34:52 wolfpass ipmid[1255]: SMS Attention asserted
Nov 27 00:35:23 wolfpass ipmid[1255]: Host control timeout hit!
Change-Id: I904d34b67050723a9c7e405bda4e02f1a9cb4dbd
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/host-cmd-manager.cpp b/host-cmd-manager.cpp
index 28bcb70..0a61e63 100644
--- a/host-cmd-manager.cpp
+++ b/host-cmd-manager.cpp
@@ -35,8 +35,8 @@
namespace sdbusRule = sdbusplus::bus::match::rules;
namespace variant_ns = sdbusplus::message::variant_ns;
-Manager::Manager(sdbusplus::bus::bus& bus, sd_event* event) :
- bus(bus), timer(event, std::bind(&Manager::hostTimeout, this)),
+Manager::Manager(sdbusplus::bus::bus& bus) :
+ bus(bus), timer(std::bind(&Manager::hostTimeout, this)),
hostTransitionMatch(
bus,
sdbusRule::propertiesChanged(HOST_STATE_PATH, HOST_STATE_INTERFACE),