mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-24 15:21:29 +02:00
MINOR: quic: abort on unlisted errno on sendto()
If an unlisted errno is reported, abort the process. If a crash is reported on this condition, we must determine if the error code is a bug, should interrupt emission on the fd or if we can retry the syscall.
This commit is contained in:
parent
8fa666650f
commit
ad5df386d9
@ -339,14 +339,18 @@ size_t qc_snd_buf(struct quic_conn *qc, const struct buffer *buf, size_t count,
|
|||||||
if (ret < try)
|
if (ret < try)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
else if (errno == EINTR) {
|
||||||
|
/* try again */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else if (ret == 0 || errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOTCONN || errno == EINPROGRESS) {
|
else if (ret == 0 || errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOTCONN || errno == EINPROGRESS) {
|
||||||
/* TODO must be handle properly. It is justified for UDP ? */
|
/* TODO must be handle properly. It is justified for UDP ? */
|
||||||
qc->sendto_err++;
|
qc->sendto_err++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (errno != EINTR) {
|
else if (errno) {
|
||||||
/* TODO must be handle properly. It is justified for UDP ? */
|
/* TODO unlisted errno : handle it explicitely. */
|
||||||
qc->sendto_err++;
|
ABORT_NOW();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user