From f2deee720132995422a2a7b933b044daedd619d4 Mon Sep 17 00:00:00 2001 From: Kay Kurokawa Date: Tue, 12 Sep 2017 12:03:49 -0400 Subject: [PATCH] fireback finished_deferred after deleting from self.writers so that BlobFile state is accurate after finished_deferred is called --- lbrynet/core/HashBlob.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lbrynet/core/HashBlob.py b/lbrynet/core/HashBlob.py index df3891aeb..f305896a4 100644 --- a/lbrynet/core/HashBlob.py +++ b/lbrynet/core/HashBlob.py @@ -15,7 +15,6 @@ from lbrynet.core.utils import is_valid_blobhash log = logging.getLogger(__name__) - class HashBlobReader(object): implements(interfaces.IConsumer) @@ -142,8 +141,8 @@ class HashBlob(object): self._verified = True for p, (w, finished_deferred) in self.writers.items(): if w == writer: - finished_deferred.callback(self) del self.writers[p] + finished_deferred.callback(self) return True log.warning( "Somehow, the writer that was accepted as being valid was already removed: %s", @@ -153,8 +152,8 @@ class HashBlob(object): def errback_finished_deferred(err): for p, (w, finished_deferred) in self.writers.items(): if w == writer: - finished_deferred.errback(err) del self.writers[p] + finished_deferred.errback(err) def cancel_other_downloads(): for p, (w, finished_deferred) in self.writers.items():