#include #include namespace utils { void runEventLoopForSeconds(sdeventplus::Event& event, uint64_t sec) { uint64_t t0 = 0; uint64_t t1 = 0; uint64_t usec = sec * 1000000; uint64_t elapsed = 0; sd_event_now(event.get(), CLOCK_MONOTONIC, &t0); do { if (!sd_event_run(event.get(), usec - elapsed)) { break; } sd_event_now(event.get(), CLOCK_MONOTONIC, &t1); elapsed = t1 - t0; } while (elapsed < usec); } } // namespace utils