class PhusionPassenger::Rack::ApplicationSpawner
def self.start_request_handler(channel, app, forked, options)
def self.start_request_handler(channel, app, forked, options) app_root = options["app_root"] $0 = "Rack: #{options['app_group_name']}" reader, writer = IO.pipe begin reader.close_on_exec! handler = RequestHandler.new(reader, app, options) app_process = AppProcess.new(app_root, Process.pid, writer, handler.server_sockets) app_process.write_to_channel(channel) writer.close channel.close before_handling_requests(forked, options) handler.main_loop ensure channel.close rescue nil writer.close rescue nil handler.cleanup rescue nil after_handling_requests end end