about summary refs log tree commit diff
path: root/src/core/dns
diff options
context:
space:
mode:
authorJeremy Bicha <jeremy.bicha@canonical.com>2023-01-13 15:22:36 -0500
committerJeremy Bicha <jeremy.bicha@canonical.com>2023-01-13 15:22:36 -0500
commit232b13fc50aa7350766da07d057eb397f12fbf71 (patch)
treecd5a435c17f32b7347398363ab12188208d88c2f /src/core/dns
parent4baddbd2cc3e3d92b45b574ab18aa2630c812e6a (diff)
parentac445e26cbdad011277f8822e0fc468ab1a6c61f (diff)
Merge tag 'debian/1.40.10-1' into ubuntu/master
network-manager Debian release 1.40.10-1
Diffstat (limited to 'src/core/dns')
-rw-r--r--src/core/dns/nm-dns-dnsmasq.c11
-rw-r--r--src/core/dns/nm-dns-dnsmasq.h2
-rw-r--r--src/core/dns/nm-dns-manager.c3
3 files changed, 15 insertions, 1 deletions
diff --git a/src/core/dns/nm-dns-dnsmasq.c b/src/core/dns/nm-dns-dnsmasq.c
index 7d0f0490..cc7c03a2 100644
--- a/src/core/dns/nm-dns-dnsmasq.c
+++ b/src/core/dns/nm-dns-dnsmasq.c
@@ -191,7 +191,8 @@ _gl_pid_kill_external(void)
     if (!g_file_get_contents(PIDFILE, &contents, NULL, &error)) {
         if (g_error_matches(error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
             do_unlink = FALSE;
-        _LOGD("spawn: failure to read pidfile %s: %s", PIDFILE, error->message);
+        else
+            _LOGD("spawn: failure to read pidfile %s: %s", PIDFILE, error->message);
         g_clear_error(&error);
         goto handle_kill;
     }
@@ -667,6 +668,14 @@ _gl_pid_spawn(const char           *dm_binary,
 
 /*****************************************************************************/
 
+void
+nm_dnsmasq_kill_external(void)
+{
+    _gl_pid_kill_external();
+}
+
+/*****************************************************************************/
+
 typedef struct {
     GDBusConnection *dbus_connection;
 
diff --git a/src/core/dns/nm-dns-dnsmasq.h b/src/core/dns/nm-dns-dnsmasq.h
index 575b0b26..98761d3d 100644
--- a/src/core/dns/nm-dns-dnsmasq.h
+++ b/src/core/dns/nm-dns-dnsmasq.h
@@ -25,4 +25,6 @@ GType nm_dns_dnsmasq_get_type(void);
 
 NMDnsPlugin *nm_dns_dnsmasq_new(void);
 
+void nm_dnsmasq_kill_external(void);
+
 #endif /* __NETWORKMANAGER_DNS_DNSMASQ_H__ */
diff --git a/src/core/dns/nm-dns-manager.c b/src/core/dns/nm-dns-manager.c
index a2fead3f..edb8ce0f 100644
--- a/src/core/dns/nm-dns-manager.c
+++ b/src/core/dns/nm-dns-manager.c
@@ -2513,6 +2513,9 @@ again:
                                                              self);
     }
 
+    if (!NM_IS_DNS_DNSMASQ(priv->plugin))
+        nm_dnsmasq_kill_external();
+
     _update_pending_maybe_changed(self);
 
     g_object_thaw_notify(G_OBJECT(self));