Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
1f7389cd
Commit
1f7389cd
authored
Jul 21, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/cps/mysql/trees/mysql-5.0
parents
482cf550
02f2ea3e
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
84 additions
and
44 deletions
+84
-44
innobase/include/sync0sync.h
innobase/include/sync0sync.h
+3
-2
innobase/sync/sync0sync.c
innobase/sync/sync0sync.c
+6
-0
server-tools/instance-manager/Makefile.am
server-tools/instance-manager/Makefile.am
+1
-0
server-tools/instance-manager/commands.cc
server-tools/instance-manager/commands.cc
+15
-6
server-tools/instance-manager/instance_map.cc
server-tools/instance-manager/instance_map.cc
+18
-16
server-tools/instance-manager/instance_map.h
server-tools/instance-manager/instance_map.h
+1
-3
server-tools/instance-manager/manager.cc
server-tools/instance-manager/manager.cc
+1
-1
server-tools/instance-manager/mysqlmanager.cc
server-tools/instance-manager/mysqlmanager.cc
+1
-1
server-tools/instance-manager/options.cc
server-tools/instance-manager/options.cc
+36
-14
server-tools/instance-manager/options.h
server-tools/instance-manager/options.h
+2
-1
No files found.
innobase/include/sync0sync.h
View file @
1f7389cd
...
@@ -522,10 +522,11 @@ extern ibool sync_order_checks_on;
...
@@ -522,10 +522,11 @@ extern ibool sync_order_checks_on;
extern
ibool
sync_initialized
;
extern
ibool
sync_initialized
;
/* Global list of database mutexes (not OS mutexes) created. */
/* Global list of database mutexes (not OS mutexes) created. */
UT_LIST_BASE_NODE_T
(
mutex_t
)
mutex_list
;
typedef
UT_LIST_BASE_NODE_T
(
mutex_t
)
ut_list_base_node_t
;
extern
ut_list_base_node_t
mutex_list
;
/* Mutex protecting the mutex_list variable */
/* Mutex protecting the mutex_list variable */
mutex_t
mutex_list_mutex
;
extern
mutex_t
mutex_list_mutex
;
#ifndef UNIV_NONINL
#ifndef UNIV_NONINL
...
...
innobase/sync/sync0sync.c
View file @
1f7389cd
...
@@ -141,6 +141,12 @@ sync_thread_t* sync_thread_level_arrays;
...
@@ -141,6 +141,12 @@ sync_thread_t* sync_thread_level_arrays;
/* Mutex protecting sync_thread_level_arrays */
/* Mutex protecting sync_thread_level_arrays */
mutex_t
sync_thread_mutex
;
mutex_t
sync_thread_mutex
;
/* Global list of database mutexes (not OS mutexes) created. */
ut_list_base_node_t
mutex_list
;
/* Mutex protecting the mutex_list variable */
mutex_t
mutex_list_mutex
;
/* Latching order checks start when this is set TRUE */
/* Latching order checks start when this is set TRUE */
ibool
sync_order_checks_on
=
FALSE
;
ibool
sync_order_checks_on
=
FALSE
;
...
...
server-tools/instance-manager/Makefile.am
View file @
1f7389cd
...
@@ -34,6 +34,7 @@ liboptions_a_CXXFLAGS= $(CXXFLAGS) \
...
@@ -34,6 +34,7 @@ liboptions_a_CXXFLAGS= $(CXXFLAGS) \
-DDEFAULT_MYSQLD_PATH
=
"
$(libexecdir)
/mysqld
$(EXEEXT)
"
\
-DDEFAULT_MYSQLD_PATH
=
"
$(libexecdir)
/mysqld
$(EXEEXT)
"
\
-DDEFAULT_MONITORING_INTERVAL
=
"20"
\
-DDEFAULT_MONITORING_INTERVAL
=
"20"
\
-DDEFAULT_PORT
=
"2273"
\
-DDEFAULT_PORT
=
"2273"
\
-DDEFAULT_CONFIG_FILE
=
"/etc/my.cnf"
\
-DPROTOCOL_VERSION
=
@PROTOCOL_VERSION@
-DPROTOCOL_VERSION
=
@PROTOCOL_VERSION@
liboptions_a_SOURCES
=
options.h options.cc priv.h priv.cc
liboptions_a_SOURCES
=
options.h options.cc priv.h priv.cc
...
...
server-tools/instance-manager/commands.cc
View file @
1f7389cd
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
#include "mysql_manager_error.h"
#include "mysql_manager_error.h"
#include "protocol.h"
#include "protocol.h"
#include "buffer.h"
#include "buffer.h"
#include "options.h"
#include <m_string.h>
#include <m_string.h>
#include <mysql.h>
#include <mysql.h>
...
@@ -643,6 +644,7 @@ Set_option::Set_option(Instance_map *instance_map_arg,
...
@@ -643,6 +644,7 @@ Set_option::Set_option(Instance_map *instance_map_arg,
if
((
instance
=
instance_map
->
find
(
name
,
len
)))
if
((
instance
=
instance_map
->
find
(
name
,
len
)))
{
{
instance_name
=
instance
->
options
.
instance_name
;
instance_name
=
instance
->
options
.
instance_name
;
/* add prefix for add_option */
/* add prefix for add_option */
if
((
option_len_arg
<
MAX_OPTION_LEN
-
1
)
||
if
((
option_len_arg
<
MAX_OPTION_LEN
-
1
)
||
(
option_value_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)
...
@@ -689,15 +691,22 @@ int Set_option::correct_file(int skip)
{
{
int
error
;
int
error
;
error
=
modify_defaults_file
(
"/etc/my.cnf"
,
option
,
error
=
modify_defaults_file
(
Options
::
config_file
,
option
,
option_value
,
instance_name
,
skip
);
option_value
,
instance_name
,
skip
);
if
(
error
>
0
)
switch
(
error
)
{
case
0
:
return
0
;
/* everything was fine */
case
1
:
return
ER_OUT_OF_RESOURCES
;
return
ER_OUT_OF_RESOURCES
;
else
if
(
error
<
0
)
case
2
:
return
ER_ACCESS_OPTION_FILE
;
return
ER_ACCESS_OPTION_FILE
;
default:
DBUG_ASSERT
(
0
);
/* should never get here */
}
/* everything was fine */
return
0
;
/* keep compiler happy */
return
0
;
}
}
...
...
server-tools/instance-manager/instance_map.cc
View file @
1f7389cd
...
@@ -22,6 +22,8 @@
...
@@ -22,6 +22,8 @@
#include "buffer.h"
#include "buffer.h"
#include "instance.h"
#include "instance.h"
#include "log.h"
#include "options.h"
#include <m_ctype.h>
#include <m_ctype.h>
#include <mysql_com.h>
#include <mysql_com.h>
...
@@ -111,9 +113,8 @@ static int process_option(void *ctx, const char *group, const char *option)
...
@@ -111,9 +113,8 @@ static int process_option(void *ctx, const char *group, const char *option)
C_MODE_END
C_MODE_END
Instance_map
::
Instance_map
(
const
char
*
default_mysqld_path_arg
,
Instance_map
::
Instance_map
(
const
char
*
default_mysqld_path_arg
)
:
const
char
*
first_option_arg
)
:
mysqld_path
(
default_mysqld_path_arg
)
mysqld_path
(
default_mysqld_path_arg
),
first_option
(
first_option_arg
)
{
{
pthread_mutex_init
(
&
LOCK_instance_map
,
0
);
pthread_mutex_init
(
&
LOCK_instance_map
,
0
);
}
}
...
@@ -202,7 +203,8 @@ int Instance_map::complete_initialization()
...
@@ -202,7 +203,8 @@ int Instance_map::complete_initialization()
hash_free should handle it's deletion => goto err, not
hash_free should handle it's deletion => goto err, not
err_instance.
err_instance.
*/
*/
if
(
instance
->
complete_initialization
(
this
,
mysqld_path
,
DEFAULT_SINGLE_INSTANCE
))
if
(
instance
->
complete_initialization
(
this
,
mysqld_path
,
DEFAULT_SINGLE_INSTANCE
))
goto
err
;
goto
err
;
}
}
else
else
...
@@ -236,18 +238,18 @@ int Instance_map::load()
...
@@ -236,18 +238,18 @@ int Instance_map::load()
/* the name of the program may be orbitrary here in fact */
/* the name of the program may be orbitrary here in fact */
argv_options
[
0
]
=
"mysqlmanager"
;
argv_options
[
0
]
=
"mysqlmanager"
;
if
(
first_option
!=
NULL
)
{
argc
=
2
;
argv_options
[
1
]
=
first_option
;
argv_options
[
2
]
=
'\0'
;
}
else
argv_options
[
1
]
=
'\0'
;
argv_options
[
1
]
=
'\0'
;
if
(
my_search_option_files
(
"my"
,
&
argc
,
(
char
***
)
&
argv
,
&
args_used
,
/*
process_option
,
(
void
*
)
this
)
||
If the routine failed, we'll simply fallback to defaults in
complete_initialization
())
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
1
;
return
0
;
return
0
;
...
...
server-tools/instance-manager/instance_map.h
View file @
1f7389cd
...
@@ -64,8 +64,7 @@ class Instance_map
...
@@ -64,8 +64,7 @@ class Instance_map
int
unlock
();
int
unlock
();
int
init
();
int
init
();
Instance_map
(
const
char
*
default_mysqld_path_arg
,
Instance_map
(
const
char
*
default_mysqld_path_arg
);
const
char
*
first_option_arg
);
~
Instance_map
();
~
Instance_map
();
/* loads options from config files */
/* loads options from config files */
...
@@ -80,7 +79,6 @@ class Instance_map
...
@@ -80,7 +79,6 @@ class Instance_map
Guardian_thread
*
guardian
;
Guardian_thread
*
guardian
;
private:
private:
const
char
*
first_option
;
enum
{
START_HASH_SIZE
=
16
};
enum
{
START_HASH_SIZE
=
16
};
pthread_mutex_t
LOCK_instance_map
;
pthread_mutex_t
LOCK_instance_map
;
HASH
hash
;
HASH
hash
;
...
...
server-tools/instance-manager/manager.cc
View file @
1f7389cd
...
@@ -68,7 +68,7 @@ void manager(const Options &options)
...
@@ -68,7 +68,7 @@ void manager(const Options &options)
*/
*/
User_map
user_map
;
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
,
Guardian_thread
guardian_thread
(
thread_registry
,
&
instance_map
,
&
instance_map
,
options
.
monitoring_interval
);
options
.
monitoring_interval
);
...
...
server-tools/instance-manager/mysqlmanager.cc
View file @
1f7389cd
...
@@ -83,7 +83,7 @@ int main(int argc, char *argv[])
...
@@ -83,7 +83,7 @@ int main(int argc, char *argv[])
if
(
set_user
(
options
.
user
,
user_info
))
if
(
set_user
(
options
.
user
,
user_info
))
{
{
options
.
cleanup
();
options
.
cleanup
();
return
1
;
goto
err
;
}
}
}
}
...
...
server-tools/instance-manager/options.cc
View file @
1f7389cd
...
@@ -36,7 +36,7 @@ const char *Options::pid_file_name= QUOTE(DEFAULT_PID_FILE_NAME);
...
@@ -36,7 +36,7 @@ const char *Options::pid_file_name= QUOTE(DEFAULT_PID_FILE_NAME);
const
char
*
Options
::
socket_file_name
=
QUOTE
(
DEFAULT_SOCKET_FILE_NAME
);
const
char
*
Options
::
socket_file_name
=
QUOTE
(
DEFAULT_SOCKET_FILE_NAME
);
const
char
*
Options
::
password_file_name
=
QUOTE
(
DEFAULT_PASSWORD_FILE_NAME
);
const
char
*
Options
::
password_file_name
=
QUOTE
(
DEFAULT_PASSWORD_FILE_NAME
);
const
char
*
Options
::
default_mysqld_path
=
QUOTE
(
DEFAULT_MYSQLD_PATH
);
const
char
*
Options
::
default_mysqld_path
=
QUOTE
(
DEFAULT_MYSQLD_PATH
);
const
char
*
Options
::
first_option
=
0
;
/* No default value */
const
char
*
Options
::
config_file
=
QUOTE
(
DEFAULT_CONFIG_FILE
);
const
char
*
Options
::
bind_address
=
0
;
/* No default value */
const
char
*
Options
::
bind_address
=
0
;
/* No default value */
const
char
*
Options
::
user
=
0
;
/* No default value */
const
char
*
Options
::
user
=
0
;
/* No default value */
uint
Options
::
monitoring_interval
=
DEFAULT_MONITORING_INTERVAL
;
uint
Options
::
monitoring_interval
=
DEFAULT_MONITORING_INTERVAL
;
...
@@ -143,7 +143,12 @@ static void usage()
...
@@ -143,7 +143,12 @@ static void usage()
printf
(
"Usage: %s [OPTIONS]
\n
"
,
my_progname
);
printf
(
"Usage: %s [OPTIONS]
\n
"
,
my_progname
);
my_print_help
(
my_long_options
);
my_print_help
(
my_long_options
);
print_defaults
(
"my"
,
default_groups
);
printf
(
"
\n
The following options may be given as the first argument:
\n
"
"--print-defaults Print the program argument list and exit
\n
"
"--defaults-file=# Only read manager configuration and instance
\n
"
" setings from the given file #. The same file
\n
"
" will be used to modify configuration of instances
\n
"
" with SET commands.
\n
"
);
my_print_variables
(
my_long_options
);
my_print_variables
(
my_long_options
);
}
}
...
@@ -204,31 +209,48 @@ C_MODE_END
...
@@ -204,31 +209,48 @@ C_MODE_END
/*
/*
- call load_defaults to load configuration file section
- Process argv of original program: get tid of --defaults-extra-file
and print a message if met there.
- call load_defaults to load configuration file section and save the pointer
for free_defaults.
- call handle_options to assign defaults and command-line arguments
- call handle_options to assign defaults and command-line arguments
to the class members
to the class members.
if either of these function fail, exit the program
if either of these function fail, return the error code.
May not return.
*/
*/
int
Options
::
load
(
int
argc
,
char
**
argv
)
int
Options
::
load
(
int
argc
,
char
**
argv
)
{
{
int
rc
;
saved_argv
=
argv
;
if
(
argc
>=
2
)
if
(
argc
>=
2
)
{
{
if
(
is_prefix
(
argv
[
1
],
"--defaults-file="
)
||
if
(
is_prefix
(
argv
[
1
],
"--defaults-file="
))
is_prefix
(
argv
[
1
],
"--defaults-extra-file="
))
{
Options
::
first_option
=
argv
[
1
];
Options
::
config_file
=
strchr
(
argv
[
1
],
'='
)
+
1
;
}
if
(
is_prefix
(
argv
[
1
],
"--defaults-extra-file="
)
||
is_prefix
(
argv
[
1
],
"--no-defaults"
))
{
/* the log is not enabled yet */
fprintf
(
stderr
,
"The --defaults-extra-file and --no-defaults options"
" are not supported by
\n
"
"Instance Manager. Program aborted.
\n
"
);
goto
err
;
}
}
}
/* config-file options are prepended to command-line ones */
/* config-file options are prepended to command-line ones */
load_defaults
(
"my"
,
default_groups
,
&
argc
,
&
argv
);
load_defaults
(
config_file
,
default_groups
,
&
argc
,
Options
::
saved_argv
=
argv
;
&
saved_argv
);
if
((
handle_options
(
&
argc
,
&
saved_argv
,
my_long_options
,
get_one_option
))
!=
0
)
goto
err
;
if
((
rc
=
handle_options
(
&
argc
,
&
argv
,
my_long_options
,
get_one_option
))
!=
0
)
return
rc
;
return
0
;
return
0
;
err:
return
1
;
}
}
void
Options
::
cleanup
()
void
Options
::
cleanup
()
...
...
server-tools/instance-manager/options.h
View file @
1f7389cd
...
@@ -36,11 +36,12 @@ struct Options
...
@@ -36,11 +36,12 @@ struct Options
static
const
char
*
default_mysqld_path
;
static
const
char
*
default_mysqld_path
;
static
const
char
*
user
;
static
const
char
*
user
;
/* the option which should be passed to process_default_option_files */
/* the option which should be passed to process_default_option_files */
static
const
char
*
first_option
;
static
uint
monitoring_interval
;
static
uint
monitoring_interval
;
static
uint
port_number
;
static
uint
port_number
;
static
const
char
*
bind_address
;
static
const
char
*
bind_address
;
static
const
char
*
config_file
;
/* argv pointer returned by load_defaults() to be used by free_defaults() */
static
char
**
saved_argv
;
static
char
**
saved_argv
;
static
int
load
(
int
argc
,
char
**
argv
);
static
int
load
(
int
argc
,
char
**
argv
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment