aboutgitcodebugslistschat
diff options
context:
space:
mode:
-rw-r--r--tcp_buf.c3
-rw-r--r--tcp_vu.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/tcp_buf.c b/tcp_buf.c
index a975a55..8c15101 100644
--- a/tcp_buf.c
+++ b/tcp_buf.c
@@ -359,6 +359,9 @@ int tcp_buf_data_from_sock(const struct ctx *c, struct tcp_tap_conn *conn)
return -errno;
}
+ if (already_sent) /* No new data and EAGAIN: set EPOLLET */
+ conn_flag(c, conn, STALLED);
+
return 0;
}
diff --git a/tcp_vu.c b/tcp_vu.c
index 10e17d3..8256f53 100644
--- a/tcp_vu.c
+++ b/tcp_vu.c
@@ -399,6 +399,10 @@ int tcp_vu_data_from_sock(const struct ctx *c, struct tcp_tap_conn *conn)
tcp_rst(c, conn);
return len;
}
+
+ if (already_sent) /* No new data and EAGAIN: set EPOLLET */
+ conn_flag(c, conn, STALLED);
+
return 0;
}