From 13e78051702c26ad112d1edbf3c3385272419dba Mon Sep 17 00:00:00 2001 From: David Gibson Date: Fri, 28 Mar 2025 16:41:42 +1100 Subject: log tcp socket error --- tcp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tcp.c b/tcp.c index fa1d885..c2fa2c3 100644 --- a/tcp.c +++ b/tcp.c @@ -2333,6 +2333,15 @@ void tcp_sock_handler(const struct ctx *c, union epoll_ref ref, return; if (events & EPOLLERR) { + int err; + socklen_t sl = sizeof(err); + + if (getsockopt(conn->sock, SOL_SOCKET, SO_ERROR, &err, &sl)) + flow_dbg(conn, "Error getting SO_ERROR: %s", + strerror_(errno)); + else + flow_dbg(conn, "Resetting due to socket error: %s", + strerror_(err)); tcp_rst(c, conn); return; } -- cgit v1.2.3