From: Arran Cudbard-Bell Date: Fri, 24 May 2019 02:33:12 +0000 (-0400) Subject: Switch to initialiser macros for fr_time_delta_to_timeval and fr_time_delta_to_timspec X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2cd4c6bcddca2bf8701ccf6f4f854d9797b6beff;p=thirdparty%2Ffreeradius-server.git Switch to initialiser macros for fr_time_delta_to_timeval and fr_time_delta_to_timspec --- diff --git a/src/lib/server/main_loop.c b/src/lib/server/main_loop.c index bf0f681e6d3..9a0156027d5 100644 --- a/src/lib/server/main_loop.c +++ b/src/lib/server/main_loop.c @@ -169,16 +169,14 @@ void main_loop_set_sd_watchdog_interval(void) 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"); } diff --git a/src/lib/util/event.c b/src/lib/util/event.c index 1f969766225..680e758f944 100644 --- a/src/lib/util/event.c +++ b/src/lib/util/event.c @@ -1503,7 +1503,7 @@ int fr_event_corral(fr_event_list_t *el, bool wait) * 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; diff --git a/src/lib/util/time.c b/src/lib/util/time.c index 5bbc36efe6c..a71f3a3e1bd 100644 --- a/src/lib/util/time.c +++ b/src/lib/util/time.c @@ -170,7 +170,7 @@ fr_time_t fr_time(void) */ 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. @@ -180,7 +180,7 @@ void fr_time_to_timeval(struct timeval *tv, fr_time_t when) */ 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 diff --git a/src/lib/util/time.h b/src/lib/util/time.h index 29d1d5a8cee..6e4d7d7bf38 100644 --- a/src/lib/util/time.h +++ b/src/lib/util/time.h @@ -127,17 +127,11 @@ static inline int64_t fr_time_delta_to_sec(fr_time_delta_t delta) 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 * diff --git a/src/modules/rlm_delay/rlm_delay.c b/src/modules/rlm_delay/rlm_delay.c index 51000d7b052..f1a42dc0137 100644 --- a/src/modules/rlm_delay/rlm_delay.c +++ b/src/modules/rlm_delay/rlm_delay.c @@ -112,13 +112,7 @@ static int delay_add(REQUEST *request, fr_time_t *resume_at, fr_time_t now, 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"); } @@ -136,13 +130,7 @@ static rlm_rcode_t mod_delay_return(UNUSED void *instance, UNUSED void *thread, /* * 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; @@ -212,9 +200,9 @@ static xlat_action_t xlat_delay_resume(TALLOC_CTX *ctx, fr_cursor_t *out, 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;