From 7f7932cecad7393e926b593242c60392aa252581 Mon Sep 17 00:00:00 2001 From: evanweaver Date: Fri, 19 Oct 2007 08:31:34 +0000 Subject: minimal jruby socket test; restore some output redirection; echoe trunk supports target tasks; don't global rescue socket.close git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@701 19e92222-5c0b-0410-8929-a290d50e31e9 --- Rakefile | 4 ---- lib/mongrel.rb | 2 +- test/jruby_socket.rb | 10 ++++++++++ test/test_ws.rb | 8 ++++---- 4 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 test/jruby_socket.rb diff --git a/Rakefile b/Rakefile index e64700c..a343d00 100644 --- a/Rakefile +++ b/Rakefile @@ -3,10 +3,6 @@ require 'rubygems' gem 'echoe', '>=2.6.4' require 'echoe' -# XXX Workaround for http://jira.codehaus.org/browse/JRUBY-1444 -RUBY_PLATFORM = 'java' if ENV['FORCE_JAVA'] -RUBY_PLATFORM = 'mswin' if ENV['FORCE_WINDOWS'] - e = Echoe.new("mongrel") do |p| p.summary = "A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps." p.author ="Zed A. Shaw" diff --git a/lib/mongrel.rb b/lib/mongrel.rb index bce7221..5b5de59 100644 --- a/lib/mongrel.rb +++ b/lib/mongrel.rb @@ -755,7 +755,7 @@ module Mongrel sleep @throttle/100.0 if @throttle > 0 end rescue StopServer - @socket.close rescue nil + @socket.close break rescue Errno::EMFILE reap_dead_workers("too many open files") diff --git a/test/jruby_socket.rb b/test/jruby_socket.rb new file mode 100644 index 0000000..bc905c9 --- /dev/null +++ b/test/jruby_socket.rb @@ -0,0 +1,10 @@ + +# Minimal test to help debug JRuby socket issues + +require 'mongrel' + +include Mongrel + +@server = HttpServer.new("127.0.0.1", 9997, num_processors=1) +@server.run +@server.stop(true) diff --git a/test/test_ws.rb b/test/test_ws.rb index 77e1b86..feb3a27 100644 --- a/test/test_ws.rb +++ b/test/test_ws.rb @@ -30,9 +30,9 @@ class WebServerTest < Test::Unit::TestCase @server = HttpServer.new("127.0.0.1", 9998, num_processors=1) @tester = TestHandler.new @server.register("/test", @tester) -# redirect_test_io do - @server.run -# end + redirect_test_io do + @server.run + end end def teardown @@ -59,7 +59,7 @@ class WebServerTest < Test::Unit::TestCase sleep 1 end end - socket.write(" ") if RUBY_PLATFORM =~ /mingw|mswin|cygwin|java/ + socket.write(" ") if RUBY_PLATFORM =~ /mingw|mswin|cygwin/ socket.close end -- cgit v1.2.3-24-ge0c7