Check if a service has already been restarted (Fixes #1338)
authorMax G <redacted>
Fri, 10 Jul 2020 20:48:36 +0000 (23:48 +0300)
committerMax G <redacted>
Fri, 10 Jul 2020 20:48:36 +0000 (23:48 +0300)
updateHostsFile.py

index 8eaff17177ca46059c0e066e5a82b8ac9c640124..34c7032adb140efe7a386f7298627150b47809d0 100644 (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}"
@@ -1312,6 +1316,7 @@ def flush_dns_cache():
                         print_failure(service_msg.format(result="failed"))
                     else:
                         print_success(service_msg.format(result="succeeded"))
+                    restarted_services += [service]
 
         dns_clean_file = "/etc/init.d/dns-clean"
         dns_clean_msg = "Flushing the DNS cache via dns-clean executable {result}"
git clone https://git.99rst.org/PROJECT