From e4d8befee7e842c137454e963b6ccf51b7bcd813 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 26 Nov 2020 13:45:44 +0100 Subject: [PATCH] dns: minor cleanup of call_done() in "nm-dns-systemd-resolved.c" (cherry picked from commit 42d47d1cd762b6d2b6d8b92b66647bd9308ad09e) (cherry picked from commit 3cb7b3a8a26ef295ba198f6214f847853ab21ce1) (cherry picked from commit c083076dcf29ac976c1dd02a3d946989e1145c3a) --- src/dns/nm-dns-systemd-resolved.c | 38 ++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/src/dns/nm-dns-systemd-resolved.c b/src/dns/nm-dns-systemd-resolved.c index 025a411ab7..de70a60d0f 100644 --- a/src/dns/nm-dns-systemd-resolved.c +++ b/src/dns/nm-dns-systemd-resolved.c @@ -129,22 +129,38 @@ call_done (GObject *source, GAsyncResult *r, gpointer user_data) gs_free_error GError *error = NULL; NMDnsSystemdResolved *self; NMDnsSystemdResolvedPrivate *priv; + RequestItem *request_item; + NMLogLevel log_level; + + request_item = user_data; v = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), r, &error); if (nm_utils_error_is_cancelled (error)) - return; + goto out; - self = user_data; + self = request_item->self; priv = NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE (self); - if (!v) { - if (!priv->send_updates_warn_ratelimited) { - priv->send_updates_warn_ratelimited = TRUE; - _LOGW ("send-updates failed to update systemd-resolved: %s", error->message); - } else - _LOGD ("send-updates failed: %s", error->message); - } else + if (v) { priv->send_updates_warn_ratelimited = FALSE; + goto out; + } + + log_level = LOGL_DEBUG; + + if (!priv->send_updates_warn_ratelimited) { + priv->send_updates_warn_ratelimited = TRUE; + log_level = LOGL_WARN; + } + + _NMLOG (log_level, + "send-updates %s@%d failed: %s", + request_item->operation, + request_item->ifindex, + error->message); + +out: + _request_item_free (request_item); } static gboolean @@ -370,8 +386,8 @@ send_updates (NMDnsSystemdResolved *self) -1, priv->cancellable, call_done, - self); - _request_item_free (request_item); + request_item); + c_list_unlink (&request_item->request_queue_lst); } }