Merge pull request #1341 from codeswhite/patch-systemctl-multiple-restarts

Check if a service has already been restarted (Fixes #1338)
This commit is contained in:
Steven Black 2020-07-12 13:36:15 -04:00 committed by GitHub
commit 82791b30c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1293,6 +1293,7 @@ def flush_dns_cache():
system_prefixes = ["/usr", ""]
service_types = ["NetworkManager", "wicd", "dnsmasq", "networking"]
restarted_services = []
for system_prefix in system_prefixes:
systemctl = system_prefix + "/bin/systemctl"
@ -1300,6 +1301,9 @@ def flush_dns_cache():
for service_type in service_types:
service = service_type + ".service"
if service in restarted_services:
continue
service_file = path_join_robust(system_dir, service)
service_msg = (
"Flushing the DNS cache by restarting " + service + " {result}"
@ -1315,6 +1319,7 @@ def flush_dns_cache():
print_failure(service_msg.format(result="failed"))
else:
print_success(service_msg.format(result="succeeded"))
restarted_services.append(service)
dns_clean_file = "/etc/init.d/dns-clean"
dns_clean_msg = "Flushing the DNS cache via dns-clean executable {result}"