uint64_t interval_usec;
if (sd_watchdog_enabled(0, &interval_usec) > 0) {
- struct timeval interval_tv;
/*
* Convert microseconds to nanoseconds
* and set the interval to be half what
* systemd uses as its timeout value.
*/
sd_watchdog_interval = ((interval_usec * 1000) / 2);
- fr_time_delta_to_timeval(&interval_tv, sd_watchdog_interval);
- INFO("systemd watchdog interval is %pV secs", fr_box_timeval(interval_tv));
+ INFO("systemd watchdog interval is %pVs", fr_box_time_delta(interval));
} else {
INFO("systemd watchdog is disabled");
}
* and when the event should occur.
*/
if (wake) {
- fr_time_delta_to_timespec(&ts_when, when);
+ ts_when = fr_time_delta_to_timespec(when);
ts_wake = &ts_when;
} else {
ts_wake = NULL;
*/
void fr_time_to_timeval(struct timeval *tv, fr_time_t when)
{
- fr_time_delta_to_timeval(tv, when + our_realtime);
+ *tv = fr_time_delta_to_timeval(when + our_realtime);
}
/** Convert a fr_time_t to a struct timeval.
*/
void fr_time_to_timespec(struct timespec *ts, fr_time_t when)
{
- fr_time_delta_to_timespec(ts, when + our_realtime);
+ *ts = fr_time_delta_to_timespec(when + our_realtime);
}
/** Convert an fr_time_t to number of usec since the unix epoch
return (delta / NSEC);
}
-static inline void fr_time_delta_to_timeval(struct timeval *tv, fr_time_delta_t delta)
-{
- tv->tv_sec = delta / NSEC;
- tv->tv_usec = (delta % NSEC) / 1000;
-}
+#define fr_time_delta_to_timeval(_delta) \
+ (struct timeval){ .tv_sec = (_delta) / NSEC, .tv_usec = ((_delta) % NSEC) / 1000 }
-static inline void fr_time_delta_to_timespec(struct timespec *ts, fr_time_delta_t delta)
-{
- ts->tv_sec = delta / NSEC;
- ts->tv_nsec = delta % NSEC;
-}
+#define fr_time_delta_to_timespec(_delta) \
+ (struct timespec){ .tv_sec = (_delta) / NSEC, .tv_nsec = ((_delta) % NSEC) }
/** Compare two fr_time_t values
*
if (!force_reschedule && (*resume_at <= now)) return 1;
if (*resume_at > now) {
- if (RDEBUG_ENABLED2) {
- struct timeval delayed_tv;
-
- fr_time_delta_to_timeval(&delayed_tv, *resume_at - now);
-
- RDEBUG2("Delaying request by ~%pVs", fr_box_timeval(delayed_tv));
- }
+ RDEBUG2("Delaying request by ~%pVs", fr_box_time_delta(*resume_at - now));
} else {
RDEBUG2("Rescheduling request");
}
/*
* Print how long the delay *really* was.
*/
- if (RDEBUG_ENABLED3) {
- struct timeval delayed_tv;
-
- fr_time_delta_to_timeval(&delayed_tv, fr_time() - *yielded);
-
- RDEBUG3("Request delayed by %pV", fr_box_timeval(delayed_tv));
- }
+ RDEBUG3("Request delayed by %pV", fr_box_time_delta(fr_time() - *yielded));
talloc_free(yielded);
return RLM_MODULE_OK;
delayed = fr_time() - *yielded_at;
talloc_free(yielded_at);
- fr_time_delta_to_timeval(&delayed_tv, delayed);
+ delayed_tv = fr_time_delta_to_timeval(delayed);
- RDEBUG3("Request delayed by %pVs", fr_box_timeval(delayed_tv));
+ RDEBUG3("Request delayed by %pVs", fr_box_time_delta(delayed));
MEM(vb = fr_value_box_alloc(ctx, FR_TYPE_TIMEVAL, NULL, false));
vb->vb_timeval = delayed_tv;