summaryrefslogtreecommitdiffstats
path: root/src/quic_sock.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:20:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 12:20:34 +0000
commitf3bb08bb1d94c77704371f8546a739119f0a05b4 (patch)
tree5dfb47fa424ecde655f8950098411a311e9296e6 /src/quic_sock.c
parentReleasing progress-linux version 2.9.6-1~progress7.99u1. (diff)
downloadhaproxy-f3bb08bb1d94c77704371f8546a739119f0a05b4.tar.xz
haproxy-f3bb08bb1d94c77704371f8546a739119f0a05b4.zip
Merging upstream version 2.9.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--src/quic_sock.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/quic_sock.c b/src/quic_sock.c
index c479249..f796513 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -686,14 +686,16 @@ int qc_snd_buf(struct quic_conn *qc, const struct buffer *buf, size_t sz,
if (ret < 0) {
if (errno == EAGAIN || errno == EWOULDBLOCK ||
errno == ENOTCONN || errno == EINPROGRESS) {
+ /* transient error */
if (errno == EAGAIN || errno == EWOULDBLOCK)
qc->cntrs.socket_full++;
else
qc->cntrs.sendto_err++;
- /* transient error */
- fd_want_send(qc->fd);
- fd_cant_send(qc->fd);
+ if (qc_test_fd(qc)) {
+ fd_want_send(qc->fd);
+ fd_cant_send(qc->fd);
+ }
TRACE_PRINTF(TRACE_LEVEL_USER, QUIC_EV_CONN_SPPKTS, qc, 0, 0, 0,
"UDP send failure errno=%d (%s)", errno, strerror(errno));
return 0;