From db2367b26e9ae5884a696832d20d85a3f1ce6646 Mon Sep 17 00:00:00 2001 From: Nikolay Kim Date: Mon, 14 Jan 2019 09:41:10 -0800 Subject: [PATCH] properly check readiness inclosed service --- actix-utils/src/stream.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/actix-utils/src/stream.rs b/actix-utils/src/stream.rs index 7be9ccb9..0a6fd0bf 100644 --- a/actix-utils/src/stream.rs +++ b/actix-utils/src/stream.rs @@ -160,8 +160,8 @@ where } loop { - if let Async::Ready(_) = self.service.poll_ready()? { - match self.stream.poll() { + match self.service.poll_ready()? { + Async::Ready(_) => match self.stream.poll() { Ok(Async::Ready(Some(item))) => spawn(StreamDispatcherService { fut: self.service.call(Ok(item)), stop: self.err_tx.clone(), @@ -172,7 +172,8 @@ where }), Ok(Async::NotReady) => return Ok(Async::NotReady), Ok(Async::Ready(None)) => return Ok(Async::Ready(())), - } + }, + Async::NotReady => return Ok(Async::NotReady), } } }