journal: simplify use of sd_event_source_get_enabled()

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2018-11-16 08:54:36 +01:00
parent ca5d90d4d9
commit b6cdfbe5c4

View file

@ -349,11 +349,8 @@ JournalFile* journal_file_close(JournalFile *f) {
#endif #endif
if (f->post_change_timer) { if (f->post_change_timer) {
int enabled; if (sd_event_source_get_enabled(f->post_change_timer, NULL) > 0)
journal_file_post_change(f);
if (sd_event_source_get_enabled(f->post_change_timer, &enabled) >= 0)
if (enabled == SD_EVENT_ONESHOT)
journal_file_post_change(f);
(void) sd_event_source_set_enabled(f->post_change_timer, SD_EVENT_OFF); (void) sd_event_source_set_enabled(f->post_change_timer, SD_EVENT_OFF);
sd_event_source_unref(f->post_change_timer); sd_event_source_unref(f->post_change_timer);
@ -1869,19 +1866,18 @@ static int post_change_thunk(sd_event_source *timer, uint64_t usec, void *userda
} }
static void schedule_post_change(JournalFile *f) { static void schedule_post_change(JournalFile *f) {
int enabled, r;
uint64_t now; uint64_t now;
int r;
assert(f); assert(f);
assert(f->post_change_timer); assert(f->post_change_timer);
r = sd_event_source_get_enabled(f->post_change_timer, &enabled); r = sd_event_source_get_enabled(f->post_change_timer, NULL);
if (r < 0) { if (r < 0) {
log_debug_errno(r, "Failed to get ftruncate timer state: %m"); log_debug_errno(r, "Failed to get ftruncate timer state: %m");
goto fail; goto fail;
} }
if (r > 0)
if (enabled == SD_EVENT_ONESHOT)
return; return;
r = sd_event_now(sd_event_source_get_event(f->post_change_timer), CLOCK_MONOTONIC, &now); r = sd_event_now(sd_event_source_get_event(f->post_change_timer), CLOCK_MONOTONIC, &now);