Skip to content

Commit

Permalink
Switch to initialiser macros for fr_time_delta_to_timeval and fr_time…
Browse files Browse the repository at this point in the history
…_delta_to_timspec
  • Loading branch information
arr2036 committed May 24, 2019
1 parent 19f2d2e commit 2cd4c6b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 32 deletions.
4 changes: 1 addition & 3 deletions src/lib/server/main_loop.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
Expand Down
2 changes: 1 addition & 1 deletion src/lib/util/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions src/lib/util/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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
Expand Down
14 changes: 4 additions & 10 deletions src/lib/util/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*
Expand Down
20 changes: 4 additions & 16 deletions src/modules/rlm_delay/rlm_delay.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
Expand All @@ -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;
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 2cd4c6b

Please sign in to comment.