https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112018-06-07T10:32:00ZRuby Issue Tracking SystemRuby master - Feature #14832: Net::ReadTimeout and Net::WriteTimeout should tell the cause sockethttps://redmine.ruby-lang.org/issues/14832?journal_id=724342018-06-07T10:32:00Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>TCPSocket#inspect shows its address and port from Ruby 2.5 like <code>#<TCPSocket:fd 10, AF_INET6, ::1, 56090></code>.<br>
But if the socket is closed, it becomes <code>#<TCPSocket:(closed)></code>; it's useless.<br>
At least Net::HTTP.start automatically closes the socket when it escapes given block.<br>
It means its message will be like follows:</p>
<pre><code>% ./ruby -Ilib test.rb
Sending 5120000 bytes
Traceback (most recent call last):
13: from test.rb:15:in `<main>'
12: from /Users/naruse/work/ruby/lib/net/http.rb:1478:in `request'
11: from /Users/naruse/work/ruby/lib/net/http.rb:1505:in `transport_request'
10: from /Users/naruse/work/ruby/lib/net/http.rb:1505:in `catch'
9: from /Users/naruse/work/ruby/lib/net/http.rb:1506:in `block in transport_request'
8: from /Users/naruse/work/ruby/lib/net/http/generic_request.rb:123:in `exec'
7: from /Users/naruse/work/ruby/lib/net/http/generic_request.rb:189:in `send_request_with_body'
6: from /Users/naruse/work/ruby/lib/net/protocol.rb:247:in `write'
5: from /Users/naruse/work/ruby/lib/net/protocol.rb:265:in `writing'
4: from /Users/naruse/work/ruby/lib/net/protocol.rb:248:in `block in write'
3: from /Users/naruse/work/ruby/lib/net/protocol.rb:275:in `write0'
2: from /Users/naruse/work/ruby/lib/net/protocol.rb:275:in `each_with_index'
1: from /Users/naruse/work/ruby/lib/net/protocol.rb:275:in `each'
/Users/naruse/work/ruby/lib/net/protocol.rb:296:in `block in write0': Net::WriteTimeout with #<TCPSocket:(closed)> (Net::WriteTimeout)
</code></pre>
<p>Maybe WriteTimeout#initialize should get inspect or address.</p> Ruby master - Feature #14832: Net::ReadTimeout and Net::WriteTimeout should tell the cause sockethttps://redmine.ruby-lang.org/issues/14832?journal_id=724362018-06-07T10:49:13Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>File</strong> <a href="/attachments/7194">timeout.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/7194/timeout.patch">timeout.patch</a> added</li></ul><blockquote>
<p>Maybe WriteTimeout#initialize should get inspect or address.</p>
</blockquote>
<p>Sure.<br>
See attached file.</p> Ruby master - Feature #14832: Net::ReadTimeout and Net::WriteTimeout should tell the cause sockethttps://redmine.ruby-lang.org/issues/14832?journal_id=724442018-06-08T07:25:59Znaruse (Yui NARUSE)naruse@airemix.jp
<ul></ul><p>usa (Usaku NAKAMURA) wrote:</p>
<blockquote>
<blockquote>
<p>Maybe WriteTimeout#initialize should get inspect or address.</p>
</blockquote>
<p>Sure.<br>
See attached file.</p>
</blockquote>
<p>Looks good.<br>
Could you commit it?</p> Ruby master - Feature #14832: Net::ReadTimeout and Net::WriteTimeout should tell the cause sockethttps://redmine.ruby-lang.org/issues/14832?journal_id=755412018-12-10T07:11:23Zusa (Usaku NAKAMURA)usa@garbagecollect.jp
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Closed</i></li></ul><p>Applied in changeset trunk|r66308.</p>
<hr>
<p>Net::ReadTimeout and Net::WriteTimeout should tell the cause socket</p>
<ul>
<li>lib/net/protocol.rb (ReadTimeout, WriteTimeout): Net::ReadTimeout and Net::WriteTimeout should tell the cause socket<br>
[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Net::ReadTimeout and Net::WriteTimeout should tell the cause socket (Closed)" href="https://redmine.ruby-lang.org/issues/14832">#14832</a>] <a href="/issues/14832">[ruby-core:87440]</a></li>
</ul>