aboutgitcodebugslistschat
path: root/tcp.c
diff options
context:
space:
mode:
Diffstat (limited to 'tcp.c')
-rw-r--r--tcp.c9
1 files changed, 9 insertions, 0 deletions
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;
}