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.
diff --git a/src/quic_sock.c b/src/quic_sock.c
index 71fe0b7..e56372e 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -339,14 +339,18 @@
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();
}
}