diff --git a/src/shrpx_connection.cc b/src/shrpx_connection.cc index a0c9d93a..4a4ed14e 100644 --- a/src/shrpx_connection.cc +++ b/src/shrpx_connection.cc @@ -126,20 +126,7 @@ void Connection::disconnect() { } if (fd != -1) { - // At least for Linux, shutdown both sides, and continue to read - // until it gets EOF or error in order to avoid TCP RST. - shutdown(fd, SHUT_RDWR); -#ifdef __linux__ - std::array b; - for (;;) { - ssize_t n; - while ((n = read(fd, b.data(), b.size())) == -1 && errno == EINTR) - ; - if (n <= 0) { - break; - } - } -#endif // __linux__ + shutdown(fd, SHUT_WR); close(fd); fd = -1; }