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)
|
||||
break;
|
||||
}
|
||||
else if (errno == EINTR) {
|
||||
/* try again */
|
||||
continue;
|
||||
}
|
||||
else if (ret == 0 || errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOTCONN || errno == EINPROGRESS) {
|
||||
/* TODO must be handle properly. It is justified for UDP ? */
|
||||
qc->sendto_err++;
|
||||
break;
|
||||
}
|
||||
else if (errno != EINTR) {
|
||||
/* TODO must be handle properly. It is justified for UDP ? */
|
||||
qc->sendto_err++;
|
||||
else if (errno) {
|
||||
/* TODO unlisted errno : handle it explicitely. */
|
||||
ABORT_NOW();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user