# File lib/merb-core/config.rb, line 156
      def setup(settings = {})
        # Merge new settings with any existing configuration settings
        settings = @configuration.merge(settings) unless @configuration.nil?
        
        # Merge new settings with default settings
        config = defaults.merge(settings)
        
        unless config[:reload_classes]
          config[:fork_for_class_load] = false
        end

        dev_mode = config[:environment] == "development"
        unless config.key?(:reap_workers_quickly)
          config[:reap_workers_quickly] = dev_mode & !config[:cluster]
        end
        
        unless config.key?(:bind_fail_fatal)
          config[:bind_fail_fatal] = dev_mode
        end
        
        # Set mutex to dispatcher
        ::Merb::Dispatcher.use_mutex = config[:use_mutex]

        @configuration = config
      end