summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Denoyelle <adenoyelle@haproxy.com>2023-05-03 09:50:04 +0200
committerAmaury Denoyelle <adenoyelle@haproxy.com>2023-05-11 14:04:51 +0200
commit69670e88bddbaf60e3abbfaf7a151ce2e11b952f (patch)
tree48fa88bcb9211e8d2c3886f8a4df9987c776d3e5
parent131f2d93e1f45cde30fa838cfe93b6056a999c8f (diff)
downloadhaproxy-69670e88bddbaf60e3abbfaf7a151ce2e11b952f.tar.gz
BUG/MINOR: mux-quic: no need to subscribe for detach streams
When detach is conducted by stream endpoint layer, a stream is either freed or just flagged as detached if the transfer is not yet finished. In the latter case, the stream will be finally freed via qc_purge_streams() which is called periodically. A subscribe was done on quic-conn layer if a stream cannot be freed via qc_purge_streams() as this means FIN STREAM has not yet been sent. However, this is unnecessary as either HTX EOM was not yet received and we are waiting for the upper layer, or FIN stream is still in the buffer but was not yet transmitted due to an incomplete transfer, in which case a subscribe should have already been done. This should be backported up to 2.7.
-rw-r--r--src/mux_quic.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/src/mux_quic.c b/src/mux_quic.c
index 259c7433f..fa4abf8e0 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -2091,9 +2091,6 @@ static int qc_purge_streams(struct qcc *qcc)
release = 1;
continue;
}
-
- qcc->conn->xprt->subscribe(qcc->conn, qcc->conn->xprt_ctx,
- SUB_RETRY_SEND, &qcc->wait_event);
}
}