mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-05 00:02:38 -04:00
The Errno::INPROGRESS error signals that the TCP handshake has been signaled to the peer already, by which locally we just have wait for it to be writable. For simple plaintext requests, this was working correctly, because the interest was always writable no matter what. However, when wrapped in the SSL conn, and with the OS tcp stack under more stress, the interest could be switched to readable, and by reuse, never reset; if, by subsequent reconnection, EINPROGRESS would be emitted, the socket would wait for readable instead, resulting in a loop and subsequent connectionnn timeout.