Issue #5765 has been updated by Koichi Sasada.
Any progress?
I think it is good timing that you become a committer :)
(I'm sorry if you already are)
----------------------------------------
Bug #5765: [PATCH] modernize Timeout usage in net/{http,pop,smtp,telnet}
https://bugs.ruby-lang.org/issues/5765
Author: Eric Wong
Status: Open
Priority: Low
Assignee:
Category: lib
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2011-12-14 trunk 34045) [x86_64-linux]
Object#timeout is deprecated, so use Timeout.timeout instead
Additionally, rely on raising Timeout::Error instead of
temporary Class object. Using a temporary Class object only
benefits nested timeouts, but the code paths in net/* do not
nest timeouts.
Unfortunately, any performance benefit of avoiding temporary
Class objects is nullified here because Errno::EAGAIN is
extended with IO::WaitReadable or IO::WaitWritable:
https://bugs.ruby-lang.org/issues/5138
A better version of this patch would use timeouts via select()
when handling DNS lookup and non-blocking connect(). That
requires more effort to deal with hostnames that resolve to
multiple addresses, so we'll revisit that later.
This change is also pullable:
git pull git://bogomips.org/ruby modern-timeout
--
http://bugs.ruby-lang.org/