diff --git a/lbrynet/stream/managed_stream.py b/lbrynet/stream/managed_stream.py index 5e7404e08..2ca0247ef 100644 --- a/lbrynet/stream/managed_stream.py +++ b/lbrynet/stream/managed_stream.py @@ -206,7 +206,7 @@ class ManagedStream: for blob_hash in we_have: await protocol.send_blob(blob_hash) sent.append(blob_hash) - except (asyncio.CancelledError, asyncio.TimeoutError, ValueError): + except (asyncio.TimeoutError, ValueError): return sent except ConnectionRefusedError: return sent diff --git a/lbrynet/stream/reflector/server.py b/lbrynet/stream/reflector/server.py index f403fa329..ff3226e29 100644 --- a/lbrynet/stream/reflector/server.py +++ b/lbrynet/stream/reflector/server.py @@ -71,17 +71,14 @@ class ReflectorServerProtocol(asyncio.Protocol): self.descriptor = await StreamDescriptor.from_stream_descriptor_blob( self.loop, self.blob_manager.blob_dir, self.sd_blob ) - self.incoming.clear() - self.writer.close_handle() - self.writer = None self.send_response({"received_sd_blob": True}) - except (asyncio.TimeoutError, asyncio.CancelledError): + except asyncio.TimeoutError: + self.send_response({"received_sd_blob": False}) + self.transport.close() + finally: self.incoming.clear() self.writer.close_handle() self.writer = None - self.transport.close() - self.send_response({"received_sd_blob": False}) - return else: self.descriptor = await StreamDescriptor.from_stream_descriptor_blob( self.loop, self.blob_manager.blob_dir, self.sd_blob @@ -111,7 +108,7 @@ class ReflectorServerProtocol(asyncio.Protocol): try: await asyncio.wait_for(blob.finished_writing.wait(), 30, loop=self.loop) self.send_response({"received_blob": True}) - except (asyncio.TimeoutError, asyncio.CancelledError): + except (asyncio.TimeoutError): self.send_response({"received_blob": False}) self.incoming.clear() self.writer.close_handle() diff --git a/lbrynet/stream/stream_manager.py b/lbrynet/stream/stream_manager.py index 436620fa4..386f0902e 100644 --- a/lbrynet/stream/stream_manager.py +++ b/lbrynet/stream/stream_manager.py @@ -275,11 +275,8 @@ class StreamManager: def wait_for_stream_finished(self, stream: ManagedStream): async def _wait_for_stream_finished(): if stream.downloader and stream.running: - try: - await stream.downloader.stream_finished_event.wait() - stream.update_status(ManagedStream.STATUS_FINISHED) - except asyncio.CancelledError: - pass + await stream.downloader.stream_finished_event.wait() + stream.update_status(ManagedStream.STATUS_FINISHED) task = self.loop.create_task(_wait_for_stream_finished()) self.update_stream_finished_futs.append(task) task.add_done_callback( @@ -358,10 +355,9 @@ class StreamManager: stream.tx = await self.wallet.send_amount_to_address( lbc_to_dewies(str(fee_amount)), fee_address.encode('latin1')) return stream - except (asyncio.TimeoutError, asyncio.CancelledError) as e: + except asyncio.TimeoutError as e: if stream_task.exception(): raise stream_task.exception() - return finally: if sd_hash in self.starting_streams: del self.starting_streams[sd_hash]