URI: 
       tMerge pull request #1192 from kyuupichan/if-cleanup3 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3b357b6a6de7ff02c99328ec2a91679ca71c1788
   DIR parent d6b2cdd595781fb6cb47a518e33a633dee3f3fa5
  HTML Author: ThomasV <electrumdev@gmail.com>
       Date:   Tue,  5 May 2015 13:44:42 +0200
       
       Merge pull request #1192 from kyuupichan/if-cleanup3
       
       Pass the response_queue to the constructor, not start().
       Diffstat:
         M lib/interface.py                    |      13 +++++--------
         M lib/network.py                      |       4 ++--
         M scripts/util.py                     |       4 ++--
       
       3 files changed, 9 insertions(+), 12 deletions(-)
       ---
   DIR diff --git a/lib/interface.py b/lib/interface.py
       t@@ -31,13 +31,13 @@ from version import ELECTRUM_VERSION, PROTOCOL_VERSION
        from simple_config import SimpleConfig
        
        
       -def Interface(server, config = None):
       +def Interface(server, response_queue, config = None):
            """Interface factory function.  The returned interface class handles the connection
            to a single remote electrum server.  The object handles all necessary locking.  It's
            exposed API is:
        
            - Inherits everything from threading.Thread.
       -    - Member functions start(), send_request(), stop(), is_connected()
       +    - Member functions send_request(), stop(), is_connected()
            - Member variable server.
            
            "is_connected()" is currently racy.  "server" is constant for the object's lifetime and hence
       t@@ -45,13 +45,13 @@ def Interface(server, config = None):
            """
            host, port, protocol = server.split(':')
            if protocol in 'st':
       -        return TcpInterface(server, config)
       +        return TcpInterface(server, response_queue, config)
            else:
                raise Exception('Unknown protocol: %s'%protocol)
        
        class TcpInterface(threading.Thread):
        
       -    def __init__(self, server, config = None):
       +    def __init__(self, server, response_queue, config = None):
                threading.Thread.__init__(self)
                self.daemon = True
                self.config = config if config is not None else SimpleConfig()
       t@@ -59,6 +59,7 @@ class TcpInterface(threading.Thread):
                self.connected = False
                self.debug = False # dump network messages. can be changed at runtime using the console
                self.message_id = 0
       +        self.response_queue = response_queue
                self.unanswered_requests = {}
                # are we waiting for a pong?
                self.is_ping = False
       t@@ -275,10 +276,6 @@ class TcpInterface(threading.Thread):
                self.connected = False
                self.print_error("stopped")
        
       -    def start(self, response_queue):
       -        self.response_queue = response_queue
       -        threading.Thread.start(self)
       -
            def run(self):
                self.s = self.get_socket()
                if self.s:
   DIR diff --git a/lib/network.py b/lib/network.py
       t@@ -271,9 +271,9 @@ class Network(util.DaemonThread):
            def start_interface(self, server):
                if server in self.interfaces.keys():
                    return
       -        i = interface.Interface(server, self.config)
       +        i = interface.Interface(server, self.queue, self.config)
                self.pending_servers.add(server)
       -        i.start(self.queue)
       +        i.start()
                return i
        
            def start_random_interface(self):
   DIR diff --git a/scripts/util.py b/scripts/util.py
       t@@ -25,10 +25,10 @@ def send_request(peers, request):
            # start interfaces
            q2 = Queue.Queue()
            config = SimpleConfig()
       -    interfaces = map ( lambda server: Interface(server, config), peers )
       +    interfaces = map( lambda server: Interface(server, q2, config), peers )
            reached_servers = []
            for i in interfaces:
       -        i.start(q2)
       +        i.start()
            t0 = time.time()
            while peers:
                try: