    # 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