diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index 58e2fc09a3d..b253f81b622 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -199,12 +199,6 @@ read_from_net(NetHandler *nh, UnixNetVConnection *vc, EThread *thread) return; } - if (vc->has_error()) { - vc->lerrno = vc->error; - vc->readSignalAndUpdate(VC_EVENT_ERROR); - return; - } - // It is possible that the closed flag got set from HttpSessionManager in the // global session pool case. If so, the closed flag should be stable once we get the // s->vio.mutex (the global session pool mutex). @@ -337,6 +331,7 @@ read_from_net(NetHandler *nh, UnixNetVConnection *vc, EThread *thread) } } } + // If here are is no more room, or nothing to do, disable the connection if (s->vio.ntodo() <= 0 || !s->enabled || !buf.writer()->write_avail()) { read_disable(nh, vc);