Commit 02f2ea3e authored by unknown's avatar unknown
Browse files

Merge mysqldev@production.mysql.com:my/mysql-5.0-release

into  mysql.com:/home/cps/mysql/trees/mysql-5.0

parents 98f8091d a38f5cd5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ liboptions_a_CXXFLAGS= $(CXXFLAGS) \
	-DDEFAULT_MYSQLD_PATH="$(libexecdir)/mysqld$(EXEEXT)" \
	-DDEFAULT_MONITORING_INTERVAL="20" \
	-DDEFAULT_PORT="2273" \
        -DDEFAULT_CONFIG_FILE="/etc/my.cnf" \
	-DPROTOCOL_VERSION=@PROTOCOL_VERSION@

liboptions_a_SOURCES= options.h options.cc priv.h priv.cc
+15 −6
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@
#include "mysql_manager_error.h"
#include "protocol.h"
#include "buffer.h"
#include "options.h"

#include <m_string.h>
#include <mysql.h>
@@ -643,6 +644,7 @@ Set_option::Set_option(Instance_map *instance_map_arg,
  if ((instance= instance_map->find(name, len)))
  {
    instance_name= instance->options.instance_name;

     /* add prefix for add_option */
    if ((option_len_arg < MAX_OPTION_LEN - 1) ||
        (option_value_len_arg < MAX_OPTION_LEN - 1))
@@ -689,15 +691,22 @@ int Set_option::correct_file(int skip)
{
  int error;

  error= modify_defaults_file("/etc/my.cnf", option,
  error= modify_defaults_file(Options::config_file, option,
                              option_value, instance_name, skip);
  if (error > 0)

  switch (error)
  {
  case 0:
    return 0;                                   /* everything was fine */
  case 1:
    return ER_OUT_OF_RESOURCES;
  else if (error < 0)
  case 2:
    return ER_ACCESS_OPTION_FILE;
  default:
    DBUG_ASSERT(0);                           /* should never get here */
  }

  /* everything was fine */
  return 0;
  return 0;                                   /* keep compiler happy */
}


+18 −16
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@

#include "buffer.h"
#include "instance.h"
#include "log.h"
#include "options.h"

#include <m_ctype.h>
#include <mysql_com.h>
@@ -111,9 +113,8 @@ static int process_option(void *ctx, const char *group, const char *option)
C_MODE_END


Instance_map::Instance_map(const char *default_mysqld_path_arg,
                           const char *first_option_arg):
mysqld_path(default_mysqld_path_arg), first_option(first_option_arg)
Instance_map::Instance_map(const char *default_mysqld_path_arg):
mysqld_path(default_mysqld_path_arg)
{
  pthread_mutex_init(&LOCK_instance_map, 0);
}
@@ -202,7 +203,8 @@ int Instance_map::complete_initialization()
      hash_free should handle it's deletion => goto err, not
      err_instance.
    */
    if (instance->complete_initialization(this, mysqld_path, DEFAULT_SINGLE_INSTANCE))
    if (instance->complete_initialization(this, mysqld_path,
                                          DEFAULT_SINGLE_INSTANCE))
      goto err;
  }
  else
@@ -236,18 +238,18 @@ int Instance_map::load()

  /* the name of the program may be orbitrary here in fact */
  argv_options[0]= "mysqlmanager";
  if (first_option != NULL)
  {
    argc= 2;
    argv_options[1]= first_option;
    argv_options[2]= '\0';
  }
  else
  argv_options[1]= '\0';

  if (my_search_option_files("my", &argc, (char ***) &argv, &args_used,
                             process_option, (void*) this) ||
      complete_initialization())
  /*
    If the routine failed, we'll simply fallback to defaults in
    complete_initialization().
  */
  if (my_search_option_files(Options::config_file, &argc,
                             (char ***) &argv, &args_used,
                             process_option, (void*) this))
    log_info("Falling back to compiled-in defaults");

  if (complete_initialization())
    return 1;

  return 0;
+1 −3
Original line number Diff line number Diff line
@@ -64,8 +64,7 @@ class Instance_map
  int unlock();
  int init();

  Instance_map(const char *default_mysqld_path_arg,
               const char *first_option_arg);
  Instance_map(const char *default_mysqld_path_arg);
  ~Instance_map();

  /* loads options from config files */
@@ -80,7 +79,6 @@ class Instance_map
  Guardian_thread *guardian;

private:
  const char *first_option;
  enum { START_HASH_SIZE = 16 };
  pthread_mutex_t LOCK_instance_map;
  HASH hash;
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ void manager(const Options &options)
  */

  User_map user_map;
  Instance_map instance_map(options.default_mysqld_path, options.first_option);
  Instance_map instance_map(options.default_mysqld_path);
  Guardian_thread guardian_thread(thread_registry,
                                  &instance_map,
                                  options.monitoring_interval);
Loading