From 2e011b59c628f4c4b6eb334ab3a70903c6692627 Mon Sep 17 00:00:00 2001 From: "Roman S. Borschel" Date: Mon, 22 Jun 2020 12:15:56 +0200 Subject: [PATCH 1/2] Avoid panic on dropping a `Receiver`. --- client/network/src/service/out_events.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/client/network/src/service/out_events.rs b/client/network/src/service/out_events.rs index 4a631601a669e..1b86a5fa4317d 100644 --- a/client/network/src/service/out_events.rs +++ b/client/network/src/service/out_events.rs @@ -35,7 +35,7 @@ use crate::Event; use super::maybe_utf8_bytes_to_string; -use futures::{prelude::*, channel::mpsc, ready}; +use futures::{prelude::*, channel::mpsc, ready, stream::FusedStream}; use parking_lot::Mutex; use prometheus_endpoint::{register, CounterVec, GaugeVec, Opts, PrometheusError, Registry, U64}; use std::{ @@ -119,8 +119,10 @@ impl fmt::Debug for Receiver { impl Drop for Receiver { fn drop(&mut self) { - // Empty the list to properly decrease the metrics. - while let Some(Some(_)) = self.next().now_or_never() {} + if !self.inner.is_terminated() { + // Empty the list to properly decrease the metrics. + while let Some(Some(_)) = self.next().now_or_never() {} + } } } From 976980e1a2eae0c9b530b34c79c9a569ebfb3115 Mon Sep 17 00:00:00 2001 From: "Roman S. Borschel" Date: Mon, 22 Jun 2020 15:10:29 +0200 Subject: [PATCH 2/2] CI