From d2dd827877d080390b0bf2964f66c61880687645 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Thu, 16 Jan 2020 14:24:15 +0100 Subject: [PATCH] src/backup/catalog.rs - SenderWriter: use tokio::task::block_in_place Make sure we do not block the executor. --- src/backup/catalog.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backup/catalog.rs b/src/backup/catalog.rs index d0c5b293..65605e6e 100644 --- a/src/backup/catalog.rs +++ b/src/backup/catalog.rs @@ -384,10 +384,12 @@ impl SenderWriter { impl Write for SenderWriter { fn write(&mut self, buf: &[u8]) -> Result { - futures::executor::block_on(async move { - self.0.send(Ok(buf.to_vec())).await - .map_err(|err| std::io::Error::new(std::io::ErrorKind::Other, err.to_string()))?; - Ok(buf.len()) + tokio::task::block_in_place(|| { + futures::executor::block_on(async move { + self.0.send(Ok(buf.to_vec())).await + .map_err(|err| std::io::Error::new(std::io::ErrorKind::Other, err.to_string()))?; + Ok(buf.len()) + }) }) }