[MacRuby] #958: Errno::EAGAIN occurs when read data from socket within Webrick.
MacRuby
ruby-noreply at macosforge.org
Fri Dec 10 06:25:55 PST 2010
#958: Errno::EAGAIN occurs when read data from socket within Webrick.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: major | Milestone: MacRuby 1.0
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Comment(by watson1978@…):
When I added the sleep in run(sock), I got the expecting result.
{{{
#!ruby
require "webrick"
class Echo < WEBrick::GenericServer
def run(sock)
while line = sock.gets
p "[server] : get = " + line
sock.print line
# add sleep ===========
sleep 0.5
end
p :end
end
end
server = Echo.new({
:BindAddress => "127.0.0.1", :Port => 4000,
})
Signal.trap('INT') { server.shutdown }
server.start
}}}
Result:
{{{
$ macruby test_webrick_server.rb
[2010-12-10 23:18:27] INFO WEBrick 1.3.1
[2010-12-10 23:18:27] INFO ruby 1.9.2 (2008-06-03) [universal-darwin10.0]
[2010-12-10 23:18:27] INFO Echo#start: pid=19506 port=4000
"[server] : get = foo\n"
"[server] : get = bar\n"
"[server] : get = 1234\n"
"[server] : get = aaa\n"
"[server] : get = bbb\n"
:end
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/958#comment:2>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list