populate network.connecting before the thread is started (fixes KeyError in self.connecting.pop)
This commit is contained in:
parent
302ce7c15b
commit
6aefaf7b3e
|
@ -186,7 +186,7 @@ class Network(util.DaemonThread):
|
||||||
self.interface = None
|
self.interface = None
|
||||||
self.interfaces = {}
|
self.interfaces = {}
|
||||||
self.auto_connect = self.config.get('auto_connect', False)
|
self.auto_connect = self.config.get('auto_connect', False)
|
||||||
self.connecting = {}
|
self.connecting = set()
|
||||||
self.socket_queue = Queue.Queue()
|
self.socket_queue = Queue.Queue()
|
||||||
self.start_network(deserialize_server(self.default_server)[2],
|
self.start_network(deserialize_server(self.default_server)[2],
|
||||||
deserialize_proxy(self.config.get('proxy')))
|
deserialize_proxy(self.config.get('proxy')))
|
||||||
|
@ -327,8 +327,8 @@ class Network(util.DaemonThread):
|
||||||
if server == self.default_server:
|
if server == self.default_server:
|
||||||
self.print_error("connecting to %s as new interface" % server)
|
self.print_error("connecting to %s as new interface" % server)
|
||||||
self.set_status('connecting')
|
self.set_status('connecting')
|
||||||
|
self.connecting.add(server)
|
||||||
c = Connection(server, self.socket_queue, self.config.path)
|
c = Connection(server, self.socket_queue, self.config.path)
|
||||||
self.connecting[server] = c
|
|
||||||
|
|
||||||
def start_random_interface(self):
|
def start_random_interface(self):
|
||||||
exclude_set = self.disconnected_servers.union(set(self.interfaces))
|
exclude_set = self.disconnected_servers.union(set(self.interfaces))
|
||||||
|
@ -368,7 +368,7 @@ class Network(util.DaemonThread):
|
||||||
self.close_interface(interface)
|
self.close_interface(interface)
|
||||||
assert self.interface is None
|
assert self.interface is None
|
||||||
assert not self.interfaces
|
assert not self.interfaces
|
||||||
self.connecting = {}
|
self.connecting = set()
|
||||||
# Get a new queue - no old pending connections thanks!
|
# Get a new queue - no old pending connections thanks!
|
||||||
self.socket_queue = Queue.Queue()
|
self.socket_queue = Queue.Queue()
|
||||||
|
|
||||||
|
@ -580,7 +580,7 @@ class Network(util.DaemonThread):
|
||||||
# Responses to connection attempts?
|
# Responses to connection attempts?
|
||||||
while not self.socket_queue.empty():
|
while not self.socket_queue.empty():
|
||||||
server, socket = self.socket_queue.get()
|
server, socket = self.socket_queue.get()
|
||||||
self.connecting.pop(server)
|
self.connecting.remove(server)
|
||||||
if socket:
|
if socket:
|
||||||
self.new_interface(server, socket)
|
self.new_interface(server, socket)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue