    # File lib/phusion_passenger/abstract_request_handler.rb, line 170
            def initialize(owner_pipe, options = {})
                    @server_sockets = {}

                    if should_use_unix_sockets?
                            @main_socket_address, @main_socket = create_unix_socket_on_filesystem
                            @server_sockets[:main] = [@main_socket_address, 'unix', @main_socket]
                    else
                            @main_socket_address, @main_socket = create_tcp_socket
                            @server_sockets[:main] = [@main_socket_address, 'tcp', @main_socket]
                    end

                    @http_socket_address, @http_socket = create_tcp_socket
                    @server_sockets[:http] = [@http_socket_address, 'tcp', @http_socket]

                    @owner_pipe = owner_pipe
                    @options = options
                    @previous_signal_handlers = {}
                    @main_loop_generation  = 0
                    @main_loop_thread_lock = Mutex.new
                    @main_loop_thread_cond = ConditionVariable.new
                    @memory_limit          = options["memory_limit"] || 0
                    @connect_password      = options["connect_password"]
                    @detach_key            = options["detach_key"]
                    @pool_account_username = options["pool_account_username"]
                    if options["pool_account_password_base64"]
                            @pool_account_password = options["pool_account_password_base64"].unpack('m').first
                    end
                    @analytics_logger      = options["analytics_logger"]
                    @iterations         = 0
                    @processed_requests = 0
                    @soft_termination_linger_time = 3
                    @main_loop_running  = false
                    @passenger_header   = determine_passenger_header

                    @debugger = @options["debugger"]
                    if @debugger
                            @server_sockets[:ruby_debug_cmd] = ["127.0.0.1:#{Debugger.cmd_port}", 'tcp']
                            @server_sockets[:ruby_debug_ctrl] = ["127.0.0.1:#{Debugger.ctrl_port}", 'tcp']
                    end

                    #############
            end