From eb26c081b1e0232c3e9d058fd0e45f9b9a28609e Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Tue, 28 Dec 2021 09:58:57 -0800 Subject: [PATCH] net/dns: bound time we wait on restarting systemd-resolved in another place Fixes #3629 Updates #3537 Change-Id: I5d4b6acfcfdf0e3efcf6eb49c5e6cf4521e4baed Signed-off-by: Brad Fitzpatrick --- net/dns/direct.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/net/dns/direct.go b/net/dns/direct.go index b2902cec6..10ec42303 100644 --- a/net/dns/direct.go +++ b/net/dns/direct.go @@ -344,7 +344,14 @@ func (m *directManager) SetDNS(config OSConfig) (err error) { // cause a disruptive DNS outage each time we reset an empty // OS configuration. if changed && isResolvedRunning() && !runningAsGUIDesktopUser() { - exec.Command("systemctl", "restart", "systemd-resolved.service").Run() + t0 := time.Now() + err := restartResolved() + d := time.Since(t0).Round(time.Millisecond) + if err != nil { + m.logf("error restarting resolved after %v: %v", d, err) + } else { + m.logf("restarted resolved after %v", d) + } } return nil