site_linux_router: fix local servers cleanup

Make a copy of self.local_servers and use it to iterate through
servers for cleanup.  This avoids the problem where elements
are being removed from list while iterating through it at the same
time.

BUG=chromium:476582
TEST=Run network_WiFi_ConnectionIdentifier and
     network_WiFi_VerifyRouter test

Change-Id: I243d9f9ec4507b66cc7a432877e9f140fd55bd14
Reviewed-on: https://chromium-review.googlesource.com/265831
Trybot-Ready: Zeping Qiu <zqiu@chromium.org>
Tested-by: Zeping Qiu <zqiu@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Zeping Qiu <zqiu@chromium.org>
diff --git a/server/site_linux_router.py b/server/site_linux_router.py
index 74d109b..6e9cd3f 100644
--- a/server/site_linux_router.py
+++ b/server/site_linux_router.py
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 import collections
+import copy
 import logging
 import random
 import string
@@ -731,7 +732,7 @@
             else:
                 instances = self.hostapd_instances
                 self.hostapd_instances = []
-                local_servers = self.local_servers
+                local_servers = copy.copy(self.local_servers)
 
             for instance in instances:
                 if silent:
@@ -742,7 +743,7 @@
                 self.kill_hostapd_instance(instance)
                 self.release_interface(instance.interface)
         if self.station_instances:
-            local_servers = self.local_servers
+            local_servers = copy.copy(self.local_servers)
             instance = self.station_instances.pop()
             if instance.dev_type == 'ibss':
                 self.iw_runner.ibss_leave(instance.interface)