I appreciate your proposal, but it’s difficult to go along with it. While the proposal is aimed at improving the convenience of `TCPSocket.open`, changing its implementation just for compatibility with Ruby 3.4 and below feels a bit too...shioimm (Misaki Shioi)
### Description This change fixes an issue where the timeout option in `Addrinfo.getaddrinfo` was not functioning as expected. https://github.com/ruby/ruby/pull/13803/files It also addresses a related issue where specifying `fast_fa...shioimm (Misaki Shioi)
- [Feature #21347] Add `open_timeout` as an overall timeout option for `Socket.tcp` - I propose introducing an option to `Socket.tcp` that raises a timeout exception after a specified period has elapsed since the method started. - ...shioimm (Misaki Shioi)
@osyoyu > Just out of curiosity: Is the example given in https://bugs.ruby-lang.org/issues/21347#note-1 a case when connect_timeout is 1000 ms (not 100 ms) ? It's just a typo. `connect_timeout: 1000ms` is right, sorry. shioimm (Misaki Shioi)
Sorry, the example in the sentence "Currently, a connect_timeout is raised only after the last connection attempt exceeds the timeout." is incorrect. The correct version is as follows: Example: When `connect_timeout: 100ms` is set an...shioimm (Misaki Shioi)
I propose to add an overall timeout option to `Socket.tcp` (and `TCPSocket.new`) ### Background Currently, `TCPSocket.new` and `Socket.tcp` accept two kind of timeout options: - `resolv_timeout`, which controls the timeout for DNS...shioimm (Misaki Shioi)
Thank you for the additional reports. Based on the information shared so far, it seems that the host machines experiencing the issue have a common factor: they are running macOS version 15.3 on Apple Silicon. (However, it does not ap...shioimm (Misaki Shioi)
I am continuing to investigate this issue. For those experiencing this problem, can you successfully run the following script? ```ruby require "socket" s = Socket.tcp("example.com", 80) s.write "GET / HTTP/1.1\r\nHost: example.com...shioimm (Misaki Shioi)