about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-27 00:58:48 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-27 00:58:48 +0000
commit304dd1ea90c24e065fc60b19a23c81926bdc5fb3 (patch)
tree360450eb5d7217060ef0a7303e47511cb0f9fc08
parent3bdf6c88b5e614a2086399d355f7483a6bf4f66b (diff)
downloadunicorn-304dd1ea90c24e065fc60b19a23c81926bdc5fb3.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@785 19e92222-5c0b-0410-8929-a290d50e31e9
-rw-r--r--lib/mongrel.rb2
-rw-r--r--test/test_ws.rb6
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/mongrel.rb b/lib/mongrel.rb
index b55c095..a55d425 100644
--- a/lib/mongrel.rb
+++ b/lib/mongrel.rb
@@ -233,7 +233,7 @@ module Mongrel
     # that much longer.
     def graceful_shutdown
       while reap_dead_workers("shutdown") > 0
-        STDERR.print "Waiting for #{@workers.list.length} requests to finish, could take #{@timeout + @throttle} seconds."
+        STDERR.puts "Waiting for #{@workers.list.length} requests to finish, could take #{@timeout + @throttle} seconds."
         sleep @timeout / 10
       end
     end
diff --git a/test/test_ws.rb b/test/test_ws.rb
index 7aa6db5..24a807d 100644
--- a/test/test_ws.rb
+++ b/test/test_ws.rb
@@ -47,7 +47,7 @@ class WebServerTest < Test::Unit::TestCase
   end
 
 
-  def do_test(string, chunk, close_after=nil)
+  def do_test(string, chunk, close_after=nil, shutdown_delay=0)
     # Do not use instance variables here, because it needs to be thread safe
     socket = TCPSocket.new("127.0.0.1", 9998);
     request = StringIO.new(string)
@@ -62,7 +62,9 @@ class WebServerTest < Test::Unit::TestCase
         sleep 1
       end
     end
+    sleep(shutdown_delay)
     socket.write(" ") # Some platforms only raise the exception on attempted write
+    socket.flush
   end
 
   def test_trickle_attack
@@ -85,7 +87,7 @@ class WebServerTest < Test::Unit::TestCase
     redirect_test_io do
       long = "GET /test HTTP/1.1\r\n" + ("X-Big: stuff\r\n" * 15000) + "\r\n"
       assert_raises Errno::ECONNRESET, Errno::EPIPE, Errno::ECONNABORTED, Errno::EINVAL do
-        do_test(long, long.length/2)
+        do_test(long, long.length/2, 10)
       end
     end
   end