about summary refs log tree commit homepage
path: root/lib/mongrel
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-18 19:14:07 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-18 19:14:07 +0000
commita511323f71cc533b513ef54eaf1adbbf03624df9 (patch)
tree27cc20d29cfad337ce4442fab9cef74e3e250e4c /lib/mongrel
parent2f06e90f9d46c787ddcc8ed7d5df6c96198613b4 (diff)
downloadunicorn-a511323f71cc533b513ef54eaf1adbbf03624df9.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@686 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib/mongrel')
-rw-r--r--lib/mongrel/configurator.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/mongrel/configurator.rb b/lib/mongrel/configurator.rb
index 19ea125..c62f153 100644
--- a/lib/mongrel/configurator.rb
+++ b/lib/mongrel/configurator.rb
@@ -288,9 +288,13 @@ module Mongrel
     # stop processing requests (gracefully).  By default it
     # assumes that you don't want to restart.
     def stop(needs_restart=false)
-      @listeners.each {|name,s|
-        s.stop
-      }
+      @listeners.map do |name, listener|
+        stopper = Thread.new { listener.stop }
+        stopper.priority = 10
+        stopper
+      end.each do |stopper|
+        stopper.join
+      end
 
       @needs_restart = needs_restart
     end