Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
I did this
I tried to build libcurl on Windows with HTTP/3 enabled against ngtcp2, but it failed with the following error:
On Windows, one must set the socket to nonblocking mode in order for
How should libcurl handle this? The socket is not always created by libcurl itself. It could be created by the hosting application if it installed a
Should libcurl always set the UDP socket to nonblocking when creating it on behalf of ngtcp2?
I expected the following
I expected the build to succeed.
curl commit: 0f234a5
The ngtcp2 QUIC backend was using the MSG_DONTWAIT flag for send/recv in order to perform nonblocking operations. On Windows this flag does not exist. Instead, the socket must be set to nonblocking mode via ioctlsocket. This change sets the nonblocking flag on UDP sockets used for QUIC on all platforms so the use of MSG_DONTWAIT is not needed. Fixes curl#4531