From 359493f973e192ad3c14bb93ca3767c2db8f1786 Mon Sep 17 00:00:00 2001 From: Shane Gibbs Date: Thu, 17 Nov 2016 20:14:01 -0600 Subject: [PATCH] fix(http): move hup check after read/write check --- src/http/conn.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/http/conn.rs b/src/http/conn.rs index 05792d5c..e7c7934b 100644 --- a/src/http/conn.rs +++ b/src/http/conn.rs @@ -595,13 +595,6 @@ impl> Conn { } } - if events.is_hup() { - trace!("Conn::ready got hangup"); - let _ = scope.deregister(&self.0.transport); - self.on_remove(); - return ReadyResult::Done(None); - } - // if the user had an io interest, but the transport was blocked differently, // the event needs to be translated to what the user was actually expecting. // @@ -642,6 +635,13 @@ impl> Conn { self.0.on_writable(scope); } + if events.is_hup() { + trace!("Conn::ready got hangup"); + let _ = scope.deregister(&self.0.transport); + self.on_remove(); + return ReadyResult::Done(None); + } + let mut events = match self.0.register() { Reg::Read => EventSet::readable(), Reg::Write => EventSet::writable(),