From e53bfae86dfb909e0a2eb179328b61f4ed723639 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 8 Nov 2021 23:07:51 +0100 Subject: [PATCH] tree-wide: use sd_event_source_disable_unref() where we can (cherry picked from commit 4f538d7b221de5707c1ff422e6e34be795535397) Conflict:NA Reference:https://github.com/systemd/systemd/commit/e53bfae86dfb909e0a2eb179328b61f4ed723639 --- src/journal/journald-stream.c | 7 +---- src/libsystemd/sd-bus/sd-bus.c | 37 +++++--------------------- src/libsystemd/sd-resolve/sd-resolve.c | 6 +---- src/shared/varlink.c | 10 ++----- 4 files changed, 10 insertions(+), 50 deletions(-) diff --git a/src/journal/journald-stream.c b/src/journal/journald-stream.c index c6720b6b13..ee0fd27f2e 100644 --- a/src/journal/journald-stream.c +++ b/src/journal/journald-stream.c @@ -108,7 +108,6 @@ StdoutStream* stdout_stream_free(StdoutStream *s) { return NULL; if (s->server) { - if (s->context) client_context_release(s->server, s->context); @@ -122,11 +121,7 @@ StdoutStream* stdout_stream_free(StdoutStream *s) { (void) server_start_or_stop_idle_timer(s->server); /* Maybe we are idle now? */ } - if (s->event_source) { - sd_event_source_set_enabled(s->event_source, SD_EVENT_OFF); - s->event_source = sd_event_source_unref(s->event_source); - } - + sd_event_source_disable_unref(s->event_source); safe_close(s->fd); free(s->label); free(s->identifier); diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index a32e2f5e20..79c24fe703 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -62,7 +62,6 @@ static int bus_poll(sd_bus *bus, bool need_more, uint64_t timeout_usec); static void bus_detach_io_events(sd_bus *b); -static void bus_detach_inotify_event(sd_bus *b); static thread_local sd_bus *default_system_bus = NULL; static thread_local sd_bus *default_user_bus = NULL; @@ -139,7 +138,7 @@ void bus_close_io_fds(sd_bus *b) { void bus_close_inotify_fd(sd_bus *b) { assert(b); - bus_detach_inotify_event(b); + b->inotify_event_source = sd_event_source_disable_unref(b->inotify_event_source); b->inotify_fd = safe_close(b->inotify_fd); b->inotify_watches = mfree(b->inotify_watches); @@ -3738,15 +3737,8 @@ int bus_attach_io_events(sd_bus *bus) { static void bus_detach_io_events(sd_bus *bus) { assert(bus); - if (bus->input_io_event_source) { - sd_event_source_set_enabled(bus->input_io_event_source, SD_EVENT_OFF); - bus->input_io_event_source = sd_event_source_unref(bus->input_io_event_source); - } - - if (bus->output_io_event_source) { - sd_event_source_set_enabled(bus->output_io_event_source, SD_EVENT_OFF); - bus->output_io_event_source = sd_event_source_unref(bus->output_io_event_source); - } + bus->input_io_event_source = sd_event_source_disable_unref(bus->input_io_event_source); + bus->output_io_event_source = sd_event_source_disable_unref(bus->output_io_event_source); } int bus_attach_inotify_event(sd_bus *bus) { @@ -3778,15 +3770,6 @@ int bus_attach_inotify_event(sd_bus *bus) { return 0; } -static void bus_detach_inotify_event(sd_bus *bus) { - assert(bus); - - if (bus->inotify_event_source) { - sd_event_source_set_enabled(bus->inotify_event_source, SD_EVENT_OFF); - bus->inotify_event_source = sd_event_source_unref(bus->inotify_event_source); - } -} - _public_ int sd_bus_attach_event(sd_bus *bus, sd_event *event, int priority) { int r; @@ -3851,17 +3834,9 @@ _public_ int sd_bus_detach_event(sd_bus *bus) { return 0; bus_detach_io_events(bus); - bus_detach_inotify_event(bus); - - if (bus->time_event_source) { - sd_event_source_set_enabled(bus->time_event_source, SD_EVENT_OFF); - bus->time_event_source = sd_event_source_unref(bus->time_event_source); - } - - if (bus->quit_event_source) { - sd_event_source_set_enabled(bus->quit_event_source, SD_EVENT_OFF); - bus->quit_event_source = sd_event_source_unref(bus->quit_event_source); - } + bus->inotify_event_source = sd_event_source_disable_unref(bus->inotify_event_source); + bus->time_event_source = sd_event_source_disable_unref(bus->time_event_source); + bus->quit_event_source = sd_event_source_disable_unref(bus->quit_event_source); bus->event = sd_event_unref(bus->event); return 1; diff --git a/src/libsystemd/sd-resolve/sd-resolve.c b/src/libsystemd/sd-resolve/sd-resolve.c index ee973c0692..073b658d3f 100644 --- a/src/libsystemd/sd-resolve/sd-resolve.c +++ b/src/libsystemd/sd-resolve/sd-resolve.c @@ -1285,11 +1285,7 @@ _public_ int sd_resolve_detach_event(sd_resolve *resolve) { if (!resolve->event) return 0; - if (resolve->event_source) { - sd_event_source_set_enabled(resolve->event_source, SD_EVENT_OFF); - resolve->event_source = sd_event_source_unref(resolve->event_source); - } - + resolve->event_source = sd_event_source_disable_unref(resolve->event_source); resolve->event = sd_event_unref(resolve->event); return 1; } diff --git a/src/shared/varlink.c b/src/shared/varlink.c index a57475b5ba..ec062f3da4 100644 --- a/src/shared/varlink.c +++ b/src/shared/varlink.c @@ -2364,14 +2364,8 @@ int varlink_server_detach_event(VarlinkServer *s) { assert_return(s, -EINVAL); - LIST_FOREACH(sockets, ss, s->sockets) { - - if (!ss->event_source) - continue; - - (void) sd_event_source_set_enabled(ss->event_source, SD_EVENT_OFF); - ss->event_source = sd_event_source_unref(ss->event_source); - } + LIST_FOREACH(sockets, ss, s->sockets) + ss->event_source = sd_event_source_disable_unref(ss->event_source); sd_event_unref(s->event); return 0; -- 2.33.0