From 9b22fd3a1596f8d31669de8ab2cdecb723e0640e Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Wed, 8 Aug 2018 20:32:51 +0900 Subject: [PATCH] Peer verification needs to be serial... --- electrumx/server/peers.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/electrumx/server/peers.py b/electrumx/server/peers.py index 209353a..6b184de 100644 --- a/electrumx/server/peers.py +++ b/electrumx/server/peers.py @@ -290,15 +290,10 @@ class PeerManager(object): peer.features['server_version'] = server_version ptuple = protocol_tuple(protocol_version) - # Do the rest concurrently - async with TaskGroup() as group: - await group.spawn(self._send_headers_subscribe(session, peer, - ptuple)) - await group.spawn(self._send_server_features(session, peer)) - await group.spawn(self._send_peers_subscribe(session, peer)) - # If any task errors out; bail - async for task in group: - task.result() + # FIXME: Make concurrent preserving the exception + await self._send_headers_subscribe(session, peer, ptuple) + await self._send_server_features(session, peer) + await self._send_peers_subscribe(session, peer) async def _send_headers_subscribe(self, session, peer, ptuple): message = 'blockchain.headers.subscribe'