fix(http): move hup check after read/write check

This commit is contained in:
Shane Gibbs
2016-11-17 20:14:01 -06:00
committed by Sean McArthur
parent 02f01765ee
commit 359493f973

View File

@@ -595,13 +595,6 @@ impl<K: Key, T: Transport, H: MessageHandler<T>> Conn<K, T, H> {
} }
} }
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, // 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. // the event needs to be translated to what the user was actually expecting.
// //
@@ -642,6 +635,13 @@ impl<K: Key, T: Transport, H: MessageHandler<T>> Conn<K, T, H> {
self.0.on_writable(scope); 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() { let mut events = match self.0.register() {
Reg::Read => EventSet::readable(), Reg::Read => EventSet::readable(),
Reg::Write => EventSet::writable(), Reg::Write => EventSet::writable(),