diff --git a/iocore/net/NetEvent.h b/iocore/net/NetEvent.h index 94e96fedda9..f00c3f4607d 100644 --- a/iocore/net/NetEvent.h +++ b/iocore/net/NetEvent.h @@ -84,10 +84,12 @@ class NetEvent LINK(NetEvent, keep_alive_queue_link); LINK(NetEvent, active_queue_link); + /// Values for @a f.shutdown + static constexpr unsigned SHUTDOWN_READ = 1; + static constexpr unsigned SHUTDOWN_WRITE = 2; + union { unsigned int flags = 0; -#define NET_VC_SHUTDOWN_READ 1 -#define NET_VC_SHUTDOWN_WRITE 2 struct { unsigned int got_local_addr : 1; unsigned int shutdown : 2; diff --git a/iocore/net/UnixNetVConnection.cc b/iocore/net/UnixNetVConnection.cc index d73119d63e4..126c3129cab 100644 --- a/iocore/net/UnixNetVConnection.cc +++ b/iocore/net/UnixNetVConnection.cc @@ -698,7 +698,7 @@ UnixNetVConnection::do_io_shutdown(ShutdownHowTo_t howto) read.vio.buffer.clear(); read.vio.nbytes = 0; read.vio.cont = nullptr; - f.shutdown |= NET_VC_SHUTDOWN_READ; + f.shutdown |= NetEvent::SHUTDOWN_READ; break; case IO_SHUTDOWN_WRITE: socketManager.shutdown((this)->con.fd, 1); @@ -706,7 +706,7 @@ UnixNetVConnection::do_io_shutdown(ShutdownHowTo_t howto) write.vio.buffer.clear(); write.vio.nbytes = 0; write.vio.cont = nullptr; - f.shutdown |= NET_VC_SHUTDOWN_WRITE; + f.shutdown |= NetEvent::SHUTDOWN_WRITE; break; case IO_SHUTDOWN_READWRITE: socketManager.shutdown((this)->con.fd, 2); @@ -718,7 +718,7 @@ UnixNetVConnection::do_io_shutdown(ShutdownHowTo_t howto) write.vio.nbytes = 0; read.vio.cont = nullptr; write.vio.cont = nullptr; - f.shutdown = NET_VC_SHUTDOWN_READ | NET_VC_SHUTDOWN_WRITE; + f.shutdown = NetEvent::SHUTDOWN_READ | NetEvent::SHUTDOWN_WRITE; break; default: ink_assert(!"not reached"); @@ -1154,14 +1154,14 @@ UnixNetVConnection::mainEvent(int event, Event *e) return EVENT_DONE; } - if (read.vio.op == VIO::READ && !(f.shutdown & NET_VC_SHUTDOWN_READ)) { + if (read.vio.op == VIO::READ && !(f.shutdown & NetEvent::SHUTDOWN_READ)) { reader_cont = read.vio.cont; if (read_signal_and_update(signal_event, this) == EVENT_DONE) { return EVENT_DONE; } } - if (!*signal_timeout_at && !closed && write.vio.op == VIO::WRITE && !(f.shutdown & NET_VC_SHUTDOWN_WRITE) && + if (!*signal_timeout_at && !closed && write.vio.op == VIO::WRITE && !(f.shutdown & NetEvent::SHUTDOWN_WRITE) && reader_cont != write.vio.cont && writer_cont == write.vio.cont) { if (write_signal_and_update(signal_event, this) == EVENT_DONE) { return EVENT_DONE;