diff options
author | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-10-18 19:38:47 +0000 |
---|---|---|
committer | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-10-18 19:38:47 +0000 |
commit | 06c1d5492bb6f89911fb8662ed7b5d9bafdd7010 (patch) | |
tree | 7a2e353c1111e1d09fbc172e307322ecc98081c6 /lib/mongrel | |
parent | 9b23459be9faf307162ddab2c5a7fe6797952a13 (diff) | |
download | unicorn-06c1d5492bb6f89911fb8662ed7b5d9bafdd7010.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@688 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib/mongrel')
-rw-r--r-- | lib/mongrel/configurator.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/mongrel/configurator.rb b/lib/mongrel/configurator.rb index 6c9a6c8..5d5d374 100644 --- a/lib/mongrel/configurator.rb +++ b/lib/mongrel/configurator.rb @@ -288,9 +288,14 @@ module Mongrel # stop processing requests (gracefully). By default it # assumes that you don't want to restart. def stop(needs_restart=false, asynchronous=true) - @listeners.each {|name,s| - s.stop(asynchronous) - } + + @listeners.each {|name,s| s.stop } + + unless asynchronous + sleep(0.5) while (@listeners.map do |name, listener| + listener.acceptor.alive? + end.any?) + end @needs_restart = needs_restart end |