From: Zbigniew Jędrzejewski-Szmek Date: Thu, 4 Jul 2019 17:10:11 +0000 (+0200) Subject: basic/time-util: add helper function to check if timestamp is set X-Git-Tag: v243-rc1~191^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1f65fd4926c5b88db770c1b47a0b0a24c2319d12;p=thirdparty%2Fsystemd.git basic/time-util: add helper function to check if timestamp is set No functional change. --- diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c index 40f54f9d46c..97642660e49 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c @@ -544,7 +544,7 @@ static int pretty_boot_time(sd_bus *bus, char **_buf) { if (t->kernel_done_time > 0) strpcpyf(&ptr, size, "= %s ", format_timespan(ts, sizeof(ts), t->firmware_time + t->finish_time, USEC_PER_MSEC)); - if (unit_id && activated_time > 0 && activated_time != USEC_INFINITY) { + if (unit_id && timestamp_is_set(activated_time)) { usec_t base = t->userspace_time > 0 ? t->userspace_time : t->reverse_offset; size = strpcpyf(&ptr, size, "\n%s reached after %s in userspace", unit_id, diff --git a/src/basic/time-util.h b/src/basic/time-util.h index a238f6914d4..e3a529d9709 100644 --- a/src/basic/time-util.h +++ b/src/basic/time-util.h @@ -81,15 +81,19 @@ triple_timestamp* triple_timestamp_from_realtime(triple_timestamp *ts, usec_t u) #define TRIPLE_TIMESTAMP_HAS_CLOCK(clock) \ IN_SET(clock, CLOCK_REALTIME, CLOCK_REALTIME_ALARM, CLOCK_MONOTONIC, CLOCK_BOOTTIME, CLOCK_BOOTTIME_ALARM) +static inline bool timestamp_is_set(usec_t timestamp) { + return timestamp > 0 && timestamp != USEC_INFINITY; +} + static inline bool dual_timestamp_is_set(const dual_timestamp *ts) { - return ((ts->realtime > 0 && ts->realtime != USEC_INFINITY) || - (ts->monotonic > 0 && ts->monotonic != USEC_INFINITY)); + return timestamp_is_set(ts->realtime) || + timestamp_is_set(ts->monotonic); } static inline bool triple_timestamp_is_set(const triple_timestamp *ts) { - return ((ts->realtime > 0 && ts->realtime != USEC_INFINITY) || - (ts->monotonic > 0 && ts->monotonic != USEC_INFINITY) || - (ts->boottime > 0 && ts->boottime != USEC_INFINITY)); + return timestamp_is_set(ts->realtime) || + timestamp_is_set(ts->monotonic) || + timestamp_is_set(ts->boottime); } usec_t triple_timestamp_by_clock(triple_timestamp *ts, clockid_t clock); diff --git a/src/core/job.c b/src/core/job.c index 81f5f9cb722..df7eacfbc04 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -1347,7 +1347,7 @@ int job_coldplug(Job *j) { if (j->unit->job_timeout != USEC_INFINITY) timeout_time = usec_add(j->begin_usec, j->unit->job_timeout); - if (j->begin_running_usec > 0 && j->unit->job_running_timeout != USEC_INFINITY) + if (timestamp_is_set(j->begin_running_usec)) timeout_time = MIN(timeout_time, usec_add(j->begin_running_usec, j->unit->job_running_timeout)); if (timeout_time == USEC_INFINITY) diff --git a/src/core/main.c b/src/core/main.c index 04a6ff63669..f5dcfa09be1 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1952,7 +1952,7 @@ static int initialize_runtime( log_warning_errno(r, "Failed to set watchdog device to %s, ignoring: %m", arg_watchdog_device); } - if (arg_runtime_watchdog > 0 && arg_runtime_watchdog != USEC_INFINITY) + if (timestamp_is_set(arg_runtime_watchdog)) watchdog_set_timeout(&arg_runtime_watchdog); } diff --git a/src/core/manager.c b/src/core/manager.c index 0c1adf28500..3ded0d96a1b 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2896,7 +2896,7 @@ int manager_loop(Manager *m) { while (m->objective == MANAGER_OK) { usec_t wait_usec; - if (m->runtime_watchdog > 0 && m->runtime_watchdog != USEC_INFINITY && MANAGER_IS_SYSTEM(m)) + if (timestamp_is_set(m->runtime_watchdog) && MANAGER_IS_SYSTEM(m)) watchdog_ping(); if (!ratelimit_below(&rl)) { @@ -2927,7 +2927,7 @@ int manager_loop(Manager *m) { continue; /* Sleep for half the watchdog time */ - if (m->runtime_watchdog > 0 && m->runtime_watchdog != USEC_INFINITY && MANAGER_IS_SYSTEM(m)) { + if (timestamp_is_set(m->runtime_watchdog) && MANAGER_IS_SYSTEM(m)) { wait_usec = m->runtime_watchdog / 2; if (wait_usec <= 0) wait_usec = 1; diff --git a/src/run/run.c b/src/run/run.c index 05c1552a8b7..c11b7f57ffa 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -1266,8 +1266,8 @@ static int start_transient_service( else if (c.exit_code > 0) log_info("Main processes terminated with: code=%s/status=%s", sigchld_code_to_string(c.exit_code), signal_to_string(c.exit_status)); - if (c.inactive_enter_usec > 0 && c.inactive_enter_usec != USEC_INFINITY && - c.inactive_exit_usec > 0 && c.inactive_exit_usec != USEC_INFINITY && + if (timestamp_is_set(c.inactive_enter_usec) && + timestamp_is_set(c.inactive_exit_usec) && c.inactive_enter_usec > c.inactive_exit_usec) { char ts[FORMAT_TIMESPAN_MAX]; log_info("Service runtime: %s", format_timespan(ts, sizeof(ts), c.inactive_enter_usec - c.inactive_exit_usec, USEC_PER_MSEC)); diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index dbe442d7da6..8eb9498c19f 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -1228,7 +1228,7 @@ static usec_t calc_next_elapse(dual_timestamp *nw, dual_timestamp *next) { assert(nw); assert(next); - if (next->monotonic != USEC_INFINITY && next->monotonic > 0) { + if (timestamp_is_set(next->monotonic)) { usec_t converted; if (next->monotonic > nw->monotonic) @@ -1236,7 +1236,7 @@ static usec_t calc_next_elapse(dual_timestamp *nw, dual_timestamp *next) { else converted = nw->realtime - (nw->monotonic - next->monotonic); - if (next->realtime != USEC_INFINITY && next->realtime > 0) + if (timestamp_is_set(next->realtime)) next_elapse = MIN(converted, next->realtime); else next_elapse = converted;