fix locks
authorThomasV <thomasv@gitorious>
Wed, 4 Dec 2013 09:05:21 +0000 (13:05 +0400)
committerThomasV <thomasv@gitorious>
Wed, 4 Dec 2013 09:05:21 +0000 (13:05 +0400)
backends/bitcoind/blockchain_processor.py

index d4c56f4..875273f 100644 (file)
@@ -686,14 +686,14 @@ class BlockchainProcessor(Processor):
         error = None
 
         if method == 'blockchain.numblocks.subscribe':
-            if session not in self.watch_headers:
-                with self.watch_lock:
+            with self.watch_lock:
+                if session not in self.watch_blocks:
                     self.watch_blocks.append(session)
             result = self.height
 
         elif method == 'blockchain.headers.subscribe':
-            if session not in self.watch_headers:
-                with self.watch_lock:
+            with self.watch_lock:
+                if session not in self.watch_headers:
                     self.watch_headers.append(session)
             result = self.header