ruby/ext/socket
Misaki Shioi ff5fc4b5a1
Do not save the last error without sockets in the connection attempt (#12153)
* Do not save the last_error if there are no sockets waiting to be connected

In this implementation, the results of both name resolution and connection attempts are awaited using select(2).
When it returned, the implementation attempted to check for connections even if there were no sockets currently attempting to connect, treating the absence of connected sockets as a connection failure.
With this fix, it will no longer check for connections when there are no sockets waiting to be connected.

Additionally, the following minor fixes have been made:

* Handle failure of getsockopt(2) and removed unnecessary continue in the loop

* Tweak: Use common API to check in_progress_fds

* Safely call TCPServer.new in test

* Set empty writefds when there is no socket waiting to be connected

* Enable fast_fallback option
2024-11-25 14:10:54 +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 Do not save the last error without sockets in the connection attempt (#12153) 2024-11-25 14:10:54 +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 Fix stack-use-after-return (#12105) 2024-11-17 10:36:33 +09:00
rubysocket.h Fix stack-use-after-return (#12105) 2024-11-17 10:36:33 +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 Do not save the last error without sockets in the connection attempt (#12153) 2024-11-25 14:10:54 +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