aboutgitcodebugslistschat
path: root/tcp_splice.c
diff options
context:
space:
mode:
Diffstat (limited to 'tcp_splice.c')
-rw-r--r--tcp_splice.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/tcp_splice.c b/tcp_splice.c
index 5efd859..e85eac6 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -161,6 +161,9 @@ static int tcp_splice_epoll_ctl(const struct ctx *c,
struct epoll_event ev[SIDES] = { { .data.u64 = ref[0].u64 },
{ .data.u64 = ref[1].u64 } };
+ if (conn->flags & CLOSING)
+ return 0;
+
tcp_splice_conn_epoll_events(conn->events, ev);
@@ -245,6 +248,10 @@ static void conn_event_do(const struct ctx *c, struct tcp_splice_conn *conn,
flow_dbg(conn, "%s", tcp_splice_event_str[flag_index]);
}
+ if (conn->flags & CLOSING) {
+ flow_err(conn,
+ "DEBUG: Event 0x%lx on CLOSING connection", event);
+ }
if (tcp_splice_epoll_ctl(c, conn))
conn_flag(c, conn, CLOSING);
}