aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/fcgi_handler.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-09-03 00:18:31 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-09-03 00:18:31 +0000
commitf6339eb17710ce81117e06725a4403e33a934d24 (patch)
tree82f31faba7ccc977a9350d95d5fa0a9d052dc4dc /railties/lib/fcgi_handler.rb
parent4c7345305aee09df6b3e1e5f3139880875c9ebd5 (diff)
downloadrails-f6339eb17710ce81117e06725a4403e33a934d24.tar.gz
rails-f6339eb17710ce81117e06725a4403e33a934d24.tar.bz2
rails-f6339eb17710ce81117e06725a4403e33a934d24.zip
Thoroughly test the FCGI dispatcher. Closes #5970.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4913 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib/fcgi_handler.rb')
-rw-r--r--railties/lib/fcgi_handler.rb50
1 files changed, 27 insertions, 23 deletions
diff --git a/railties/lib/fcgi_handler.rb b/railties/lib/fcgi_handler.rb
index 7b5aafe122..80ce1a34f5 100644
--- a/railties/lib/fcgi_handler.rb
+++ b/railties/lib/fcgi_handler.rb
@@ -50,25 +50,7 @@ class RailsFCGIHandler
run_gc! if gc_request_period
- provider.each_cgi do |cgi|
- process_request(cgi)
-
- case when_ready
- when :reload
- reload!
- when :restart
- close_connection(cgi)
- restart!
- when :exit
- close_connection(cgi)
- break
- when :breakpoint
- close_connection(cgi)
- breakpoint!
- end
-
- gc_countdown
- end
+ process_each_request!(provider)
GC.enable
dispatcher_log :info, "terminated gracefully"
@@ -87,9 +69,9 @@ class RailsFCGIHandler
dispatcher_error(fcgi_error, "killed by this error")
end
end
-
-
- private
+
+
+ protected
def logger
@logger ||= Logger.new(@log_file_path)
end
@@ -145,6 +127,28 @@ class RailsFCGIHandler
dispatcher_log :info, "asked to breakpoint ASAP"
@when_ready = :breakpoint
end
+
+ def process_each_request!(provider)
+ provider.each_cgi do |cgi|
+ process_request(cgi)
+
+ case when_ready
+ when :reload
+ reload!
+ when :restart
+ close_connection(cgi)
+ restart!
+ when :exit
+ close_connection(cgi)
+ break
+ when :breakpoint
+ close_connection(cgi)
+ breakpoint!
+ end
+
+ gc_countdown
+ end
+ end
def process_request(cgi)
Dispatcher.dispatch(cgi)
@@ -204,4 +208,4 @@ class RailsFCGIHandler
def close_connection(cgi)
cgi.instance_variable_get("@request").finish
end
-end \ No newline at end of file
+end