From 9b23459be9faf307162ddab2c5a7fe6797952a13 Mon Sep 17 00:00:00 2001 From: evanweaver Date: Thu, 18 Oct 2007 19:27:33 +0000 Subject: howbout we support asynchronous and synchronous stopping git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@687 19e92222-5c0b-0410-8929-a290d50e31e9 --- lib/mongrel.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/mongrel.rb') diff --git a/lib/mongrel.rb b/lib/mongrel.rb index 1d95714..967f0cd 100644 --- a/lib/mongrel.rb +++ b/lib/mongrel.rb @@ -809,8 +809,13 @@ module Mongrel # Stops the acceptor thread and then causes the worker threads to finish # off the request queue before finally exiting. - def stop - @acceptor.raise(StopServer.new) + def stop(asynchronous=true) + if asynchronous + stopper = Thread.new { @acceptor.raise(StopServer.new) } + stopper.priority = 10 + else + @acceptor.raise(StopServer.new) + end end end -- cgit v1.2.3-24-ge0c7