    # File lib/merb-core/server.rb, line 358
          def add_irb_trap
            Merb.trap("INT") do
              if @interrupted
                Merb.logger.warn! "Interrupt received a second time, exiting!\n"
                exit
              end

              @interrupted = true
              Merb.logger.warn! "Interrupt a second time to quit."
              Kernel.sleep 1.5
              ARGV.clear # Avoid passing args to IRB

              if @irb.nil?
                require "irb"
                IRB.setup(nil)
                @irb = IRB::Irb.new(nil)
                IRB.conf[:MAIN_CONTEXT] = @irb.context
              end

              Merb.trap(:INT) { @irb.signal_handle }
              catch(:IRB_EXIT) { @irb.eval_input }

              Merb.logger.warn! "Exiting from IRB mode back into server mode."
              @interrupted = false
              add_irb_trap
            end
          end