Use steady_timer instead of deadline timer

In boost, deadline_timer runs off the REALTIME clock, whereas
steady_timer runs off the MONOTONIC clock.  Because this timer should be
based on a future time duration, not an exact calendar date, we should
be using steady_timer here.

The difference between the two is subtle, and largely doesn't matter
unless the date/time is set, in which case deadline_timer won't give the
expected result.

Change-Id: I72e85a81b3a8e53161135befc6f42079ba36be6f
Signed-off-by: Ed Tanous <edtanous@google.com>
diff --git a/src/fru_device.cpp b/src/fru_device.cpp
index e7d4a15..c67bfc5 100644
--- a/src/fru_device.cpp
+++ b/src/fru_device.cpp
@@ -23,8 +23,8 @@
 #include <sys/ioctl.h>
 
 #include <boost/algorithm/string/predicate.hpp>
-#include <boost/asio/deadline_timer.hpp>
 #include <boost/asio/io_context.hpp>
+#include <boost/asio/steady_timer.hpp>
 #include <boost/container/flat_map.hpp>
 #include <nlohmann/json.hpp>
 #include <sdbusplus/asio/connection.hpp>
@@ -939,8 +939,8 @@
     sdbusplus::asio::object_server& objServer,
     std::shared_ptr<sdbusplus::asio::connection>& systemBus)
 {
-    static boost::asio::deadline_timer timer(io);
-    timer.expires_from_now(boost::posix_time::seconds(1));
+    static boost::asio::steady_timer timer(io);
+    timer.expires_from_now(std::chrono::seconds(1));
 
     // setup an async wait in case we get flooded with requests
     timer.async_wait([&](const boost::system::error_code& ec) {