#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/>