From b01139bb93a7b0cfbd45b64e170223f4871a4a87 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Tue, 28 Nov 2017 18:56:36 +0900 Subject: [PATCH] Don't iterate over mempool_statuses Fixes #321 --- server/session.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/session.py b/server/session.py index aa9cdfd..4f6b6f9 100644 --- a/server/session.py +++ b/server/session.py @@ -128,8 +128,10 @@ class ElectrumX(SessionBase): changed[alias] = status # Check mempool hashXs - the status is a function of the - # confirmed state of other transactions - for hashX, old_status in self.mempool_statuses.items(): + # confirmed state of other transactions. Note: we cannot + # iterate over mempool_statuses as it changes size. + for hashX in set(self.mempool_statuses): + old_status = self.mempool_statuses[hashX] status = await self.address_status(hashX) if status != old_status: alias = self.hashX_subs[hashX]