mirror of
https://github.com/curl/curl.git
synced 2026-04-15 01:05:56 +08:00
This discussion: https://github.com/openssl/openssl/discussions/23339#discussion-6094341 Specifically item number 2 (Send Blocking) was raised by the curl team, noting that SSL_want_write returning false was not a good indicator of when a stream is writeable. The suggestion in that discussion was to use SSL_poll with an SSL_POLL_EVENT_W flag instead, as that is a proper indication of when an SSL_object will allow writing without blocking. While ssl_want_write updates its state based on the last error encountered (implying a need to retry an operation to update the last_error state again), SSL_poll checks stream buffer status during the call, giving it more up to date information on request. This is the method used by our guide demos (quic-hq-interop specifically), and it works well. This change has been run through the curl test suite, and shown to pass all tests. However, given the initial problem description I'm not sure if there is a test case that explicitly checks for blocking and unblocking of streams. As such some additional testing may be warranted. Closes #15909 |
||
|---|---|---|
| .. | ||
| .checksrc | ||
| curl_msh3.c | ||
| curl_msh3.h | ||
| curl_ngtcp2.c | ||
| curl_ngtcp2.h | ||
| curl_osslq.c | ||
| curl_osslq.h | ||
| curl_quiche.c | ||
| curl_quiche.h | ||
| vquic_int.h | ||
| vquic-tls.c | ||
| vquic-tls.h | ||
| vquic.c | ||
| vquic.h | ||