diff --git a/polkadot/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs b/polkadot/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs index f669519e8a6b890f7b749bc2b4fb0219b155c603..a1c9450c41785c6249d0f109883094abdc5595bf 100644 --- a/polkadot/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs +++ b/polkadot/node/overseer/overseer-gen/proc-macro/src/impl_builder.rs @@ -594,7 +594,7 @@ pub(crate) fn impl_task_kind(info: &OverseerInfo) -> proc_macro2::TokenStream { struct Blocking; impl TaskKind for Blocking { fn launch_task<S: SpawnNamed>(spawner: &mut S, task_name: &'static str, subsystem_name: &'static str, future: BoxFuture<'static, ()>) { - spawner.spawn(task_name, Some(subsystem_name), future) + spawner.spawn_blocking(task_name, Some(subsystem_name), future) } } diff --git a/polkadot/node/overseer/src/lib.rs b/polkadot/node/overseer/src/lib.rs index dc44abc799f39f04fea332e1d3a427a6a4e5f4f6..dec173747f926c02ad5fe37003ecf9aef7c82eba 100644 --- a/polkadot/node/overseer/src/lib.rs +++ b/polkadot/node/overseer/src/lib.rs @@ -462,19 +462,19 @@ pub struct Overseer<SupportsParachains> { #[subsystem(ApprovalDistributionMessage)] approval_distribution: ApprovalDistribution, - #[subsystem(no_dispatch, ApprovalVotingMessage)] + #[subsystem(no_dispatch, blocking, ApprovalVotingMessage)] approval_voting: ApprovalVoting, #[subsystem(GossipSupportMessage)] gossip_support: GossipSupport, - #[subsystem(no_dispatch, DisputeCoordinatorMessage)] + #[subsystem(no_dispatch, blocking, DisputeCoordinatorMessage)] dispute_coordinator: DisputeCoordinator, #[subsystem(no_dispatch, DisputeDistributionMessage)] dispute_distribution: DisputeDistribution, - #[subsystem(no_dispatch, ChainSelectionMessage)] + #[subsystem(no_dispatch, blocking, ChainSelectionMessage)] chain_selection: ChainSelection, /// External listeners waiting for a hash to be in the active-leave set.