# 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