return NULL;
}
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void job_print_status_message(Unit *u, JobType t, JobResult result) {
const char *format;
assert(t >= 0);
assert(t < _JOB_TYPE_MAX);
+ DISABLE_WARNING_FORMAT_NONLITERAL;
+
if (t == JOB_START) {
format = job_get_status_message_format(u, t, result);
if (!format)
if (result == JOB_SKIPPED)
unit_status_printf(u, ANSI_HIGHLIGHT_ON " INFO " ANSI_HIGHLIGHT_OFF, "%s is not active.");
}
+
+ REENABLE_WARNING;
}
-#pragma GCC diagnostic pop
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wformat-nonliteral"
static void job_log_status_message(Unit *u, JobType t, JobResult result) {
const char *format;
char buf[LINE_MAX];
if (!format)
return;
+ DISABLE_WARNING_FORMAT_NONLITERAL;
snprintf(buf, sizeof(buf), format, unit_description(u));
char_array_0(buf);
+ REENABLE_WARNING;
if (t == JOB_START) {
sd_id128_t mid;
"MESSAGE=%s", buf,
NULL);
}
-#pragma GCC diagnostic pop
int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) {
Unit *u;
int job_start_timer(Job *j) {
int r;
- if (j->unit->job_timeout <= 0 || j->timer_event_source)
+ if (j->timer_event_source)
return 0;
j->begin_usec = now(CLOCK_MONOTONIC);
- r = sd_event_add_monotonic(j->manager->event, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j, &j->timer_event_source);
+ if (j->unit->job_timeout <= 0)
+ return 0;
+
+ r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j);
if (r < 0)
return r;
assert(j);
- if (j->begin_usec <= 0)
+ if (j->begin_usec == 0 || j->unit->job_timeout == 0)
return 0;
if (j->timer_event_source)
j->timer_event_source = sd_event_source_unref(j->timer_event_source);
- r = sd_event_add_monotonic(j->manager->event, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j, &j->timer_event_source);
+ r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j);
if (r < 0)
log_debug("Failed to restart timeout for job: %s", strerror(-r));
*timeout = MIN(x, y);
- log_info("job_get_timeout %s %d/%"PRIu64" %d/%"PRIu64" -> 1/%"PRIu64,
- j->unit->id, r, x, q, y, *timeout);
-
return 1;
}