From a641ba1e7a0b64f31de77239cfb61ff2a851c81b Mon Sep 17 00:00:00 2001 From: asynchronous rob Date: Sun, 1 May 2022 10:22:23 -0500 Subject: [PATCH] have av-store bail when recv() fails (#5418) --- polkadot/node/core/av-store/src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/polkadot/node/core/av-store/src/lib.rs b/polkadot/node/core/av-store/src/lib.rs index 34b0272423..9c7fb92953 100644 --- a/polkadot/node/core/av-store/src/lib.rs +++ b/polkadot/node/core/av-store/src/lib.rs @@ -355,6 +355,9 @@ pub enum Error { #[error(transparent)] Subsystem(#[from] SubsystemError), + #[error("Context signal channel closed")] + ContextChannelClosed, + #[error(transparent)] Time(#[from] SystemTimeError), @@ -374,6 +377,7 @@ impl Error { Self::Io(_) => true, Self::Oneshot(_) => true, Self::CustomDatabase => true, + Self::ContextChannelClosed => true, _ => false, } } @@ -563,7 +567,7 @@ where { select! { incoming = ctx.recv().fuse() => { - match incoming? { + match incoming.map_err(|_| Error::ContextChannelClosed)? { FromOverseer::Signal(OverseerSignal::Conclude) => return Ok(true), FromOverseer::Signal(OverseerSignal::ActiveLeaves( ActiveLeavesUpdate { activated, .. })