diff options
author | Wen Liang <liangwen12year@gmail.com> | 2022-08-25 12:38:10 -0400 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2023-01-11 09:05:36 +0100 |
commit | 0de9cf6dfaa6c28ae1347547b6beddf63d237bb9 (patch) | |
tree | e1e7066a6333240f08c987ac9d6624cc36d8acc2 | |
parent | 63a8cec1b120a747b2b72a49eed038f735119d02 (diff) | |
parent | b97b12ed9474be85f393fd9f0e503973a9f824b5 (diff) |
dns: merge branch "wl/dns"
https://bugzilla.redhat.com/show_bug.cgi?id=2120763
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1344
(cherry picked from commit a5d8f8321f5b742f0b2c31fca68877d362a2622d)
-rw-r--r-- | src/core/dns/nm-dns-dnsmasq.c | 11 | ||||
-rw-r--r-- | src/core/dns/nm-dns-dnsmasq.h | 2 | ||||
-rw-r--r-- | src/core/dns/nm-dns-manager.c | 3 |
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 7d0f0490e0..cc7c03a21b 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 575b0b263f..98761d3d9f 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 a2fead3f35..edb8ce0f15 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)); |