1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-28 09:42:40 +01:00

proper check for actor context poll

This commit is contained in:
Nikolay Kim 2018-03-16 08:04:26 -07:00
parent 5baf15822a
commit b16f2d5f05
2 changed files with 4 additions and 3 deletions

View File

@ -188,7 +188,7 @@ impl<A, S> ActorHttpContext for HttpContext<A, S> where A: Actor<Context=Self>,
mem::transmute(self as &mut HttpContext<A, S>) mem::transmute(self as &mut HttpContext<A, S>)
}; };
if self.inner.started() && self.inner.alive() { if !self.inner.started() || self.inner.started() && self.inner.alive() {
match self.inner.poll(ctx) { match self.inner.poll(ctx) {
Ok(Async::NotReady) | Ok(Async::Ready(())) => (), Ok(Async::NotReady) | Ok(Async::Ready(())) => (),
Err(_) => return Err(ErrorInternalServerError("error").into()), Err(_) => return Err(ErrorInternalServerError("error").into()),

View File

@ -204,7 +204,8 @@ impl<A, S> ActorHttpContext for WebsocketContext<A, S> where A: Actor<Context=Se
mem::transmute(self as &mut WebsocketContext<A, S>) mem::transmute(self as &mut WebsocketContext<A, S>)
}; };
if self.inner.started() && self.inner.alive() && self.inner.poll(ctx).is_err() { if (!self.inner.started() || self.inner.started() && self.inner.alive())
&& self.inner.poll(ctx).is_err() {
return Err(ErrorInternalServerError("error").into()) return Err(ErrorInternalServerError("error").into())
} }