[MacRuby] #1401: Errno::EAGAIN occurs with 'net/https'

MacRuby ruby-noreply at macosforge.org
Wed Oct 5 18:50:36 PDT 2011


#1401: Errno::EAGAIN occurs with 'net/https'
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------
 Test Script:
 {{{
 #!ruby
 require 'net/https'

 TCPServer.open("127.0.0.1", 0) {|serv|
   _, port, _, _ = serv.addr
   proxy = Net::HTTP.Proxy("127.0.0.1", port, 'user', 'password')
   http = proxy.new("foo.example.org", 8000)
   http.use_ssl = true
   http.verify_mode = OpenSSL::SSL::VERIFY_NONE
   http.start
 }
 }}}

 Result:
 {{{
 $ macruby t.rb
 /Users/watson/tmp/t.rb:10:in `block': Resource temporarily unavailable -
 read(2) failed. (Errno::EAGAIN)
         from /Users/watson/tmp/t.rb:3:in `<main>'
 }}}

 This error occurs with IO#sysread (on rbuf_fill) in 'net/protocol.rb'.
 [[BR]]
 IO#sysread is used for avoiding a #731.

 But, IO::WaitWritable already implemented with
 https://github.com/MacRuby/MacRuby/commit/98fe7b58b3b049d2ff12aca446f1f25e499be27b
 ,
 https://github.com/MacRuby/MacRuby/commit/99397ec76adf77779c33216d1150e414ca7ed909
 .

 I think it's time to revert a 'net/protocol.rb'.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1401>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list