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,
// 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);
}
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(),