diff --git a/src/quic_sock.c b/src/quic_sock.c index baf4bbcdd..1cbb71f9e 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -704,7 +704,9 @@ int qc_rcv_buf(struct quic_conn *qc) get_net_port(&qc->local_addr)); if (ret <= 0) { /* Subscribe FD for future reception. */ - fd_want_recv(qc->fd); + if (errno == EAGAIN || errno == EWOULDBLOCK || errno == ENOTCONN) + fd_want_recv(qc->fd); + /* TODO handle other error codes as fatal on the connection. */ break; }