ruby/ext/socket
Misaki Shioi 3d07754ee2
Improve the conditions for clearing the Connection Attempt Delay upon connection failure (#12223)
* Improve the conditions for clearing the Connection Attempt Delay upon connection failure

This change addresses a case that was overlooked in ruby/ruby#12087.
In the previous change, the Connection Attempt Delay was cleared at the point of a connection failure only if both of the following conditions were met:

- No other sockets were attempting a connection
- There were addresses still available to start a new connection

In this update, the second condition has been removed.
As a result, if name resolution succeeds after a connection failure and new addresses are obtained, it will be able to immediately attempt a connection to one of them.

If there are no sockets attempting a connection, no addresses available for connection, and name resolution has completed, an exception will still be raised as before.

---

Additionally, the following minor fixes have been made:

* Refactor: Remove unnecessary members
2024-11-30 18:51:53 +09:00
..
lib [DOC] Improve Socket::tcp with Happy Eyeballs Version 2 2024-10-20 19:26:01 +09:00
.document
addrinfo.h Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
ancdata.c Move directives outside rb_ary_new3 call 2024-10-10 11:30:37 +09:00
basicsocket.c Update BasicSocket to use rb_io_blocking_region. 2024-10-09 21:05:01 +13:00
constants.c Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
depend ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
extconf.rb Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns" 2024-02-01 11:09:54 +11:00
getaddrinfo.c Don't check for null pointer in calls to free 2023-06-30 09:13:31 -04:00
getnameinfo.c Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
ifaddr.c Expand tabs [ci skip] 2022-07-21 09:42:04 -07:00
init.c Support IO#timeout for rsock_connect. (#11880) 2024-10-12 10:08:34 +13:00
ipsocket.c Improve the conditions for clearing the Connection Attempt Delay upon connection failure (#12223) 2024-11-30 18:51:53 +09:00
mkconstants.rb Drop support for old ERB 2024-03-03 00:55:45 +09:00
option.c Add support for sockaddr_un on Windows. (#6513) 2022-11-17 14:50:25 -08:00
raddrinfo.c Ensure to close pipes when TCPSocket.new finishes processing (#12181) 2024-11-29 18:49:02 +09:00
rubysocket.h Improve the conditions for clearing the Connection Attempt Delay upon connection failure (#12223) 2024-11-30 18:51:53 +09:00
socket.c Support IO#timeout for rsock_connect. (#11880) 2024-10-12 10:08:34 +13:00
sockport.h
sockssocket.c [Feature #120782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new (#11653) 2024-11-12 10:06:48 +09:00
tcpserver.c [Feature #120782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new (#11653) 2024-11-12 10:06:48 +09:00
tcpsocket.c Allow disable to fast_fallback of TCPSocket.new (#12210) 2024-11-29 14:18:09 +09:00
udpsocket.c Support IO#timeout for rsock_connect. (#11880) 2024-10-12 10:08:34 +13:00
unixserver.c Add support for sockaddr_un on Windows. (#6513) 2022-11-17 14:50:25 -08:00
unixsocket.c Support IO#timeout for rsock_connect. (#11880) 2024-10-12 10:08:34 +13:00