Changeset 9151
- Timestamp:
- 03/30/08 23:07:52 (5 months ago)
- Files:
-
- trunk/railties/lib/fcgi_handler.rb (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/railties/lib/fcgi_handler.rb
r8132 r9151 74 74 cgi = nil 75 75 76 provider.each_cgi do |cgi| 77 process_request(cgi) 78 79 case when_ready 80 when :reload 81 reload! 82 when :restart 83 close_connection(cgi) 84 restart! 85 when :exit 86 close_connection(cgi) 87 break 76 catch :exit do 77 provider.each_cgi do |cgi| 78 process_request(cgi) 79 80 case when_ready 81 when :reload 82 reload! 83 when :restart 84 close_connection(cgi) 85 restart! 86 when :exit 87 close_connection(cgi) 88 throw :exit 89 end 88 90 end 89 91 end … … 94 96 95 97 def process_request(cgi) 96 @ when_ready =nil98 @processing, @when_ready = true, nil 97 99 gc_countdown 98 100 … … 106 108 end 107 109 end 110 ensure 111 @processing = false 108 112 end 109 113 … … 159 163 def exit_handler(signal) 160 164 dispatcher_log :info, "asked to stop ASAP" 161 @when_ready = :exit 165 if @processing 166 @when_ready = :exit 167 else 168 throw :exit 169 end 162 170 end 163 171 164 172 def reload_handler(signal) 165 173 dispatcher_log :info, "asked to reload ASAP" 166 @when_ready = :reload 174 if @processing 175 @when_ready = :reload 176 else 177 reload! 178 end 167 179 end 168 180 169 181 def restart_handler(signal) 170 182 dispatcher_log :info, "asked to restart ASAP" 171 @when_ready = :restart 183 if @processing 184 @when_ready = :restart 185 else 186 restart! 187 end 172 188 end 173 189