mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
Polishing:
1. use MySQL headers instead of system ones; 2. move logical part of code into a separate function. server-tools/instance-manager/angel.cc: Polishing: try not to use system headers. Use headers from include/ directory when it is possible. server-tools/instance-manager/manager.cc: Polishing: move logical part of code into a separate function. server-tools/instance-manager/manager.h: Polishing: move logical part of code into a separate function. server-tools/instance-manager/mysqlmanager.cc: Polishing: rollback rename.
This commit is contained in:
parent
bae98cc8a6
commit
ad9cd3a5fc
4 changed files with 59 additions and 39 deletions
|
@ -17,19 +17,16 @@
|
||||||
|
|
||||||
#include "angel.h"
|
#include "angel.h"
|
||||||
|
|
||||||
#include <signal.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Include my_global.h right after system includes so that we can change
|
sys/wait.h is needed for waitpid(). Unfortunately, there is no MySQL
|
||||||
system defines if needed.
|
include file, that can serve for this. Include it before MySQL system
|
||||||
|
headers so that we can change system defines if needed.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "my_global.h"
|
#include "my_global.h"
|
||||||
|
#include "my_alarm.h"
|
||||||
|
#include "my_sys.h"
|
||||||
|
|
||||||
/* Include other IM files. */
|
/* Include other IM files. */
|
||||||
|
|
||||||
|
|
|
@ -184,6 +184,53 @@ void Manager::stop_all_threads()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
Initialize user map and load password file.
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
init_user_map()
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
FALSE on success
|
||||||
|
TRUE on failure
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool Manager::init_user_map(User_map *user_map)
|
||||||
|
{
|
||||||
|
int err_code;
|
||||||
|
const char *err_msg;
|
||||||
|
|
||||||
|
if (user_map->init())
|
||||||
|
{
|
||||||
|
log_error("Manager: can not initialize user list: out of memory.");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err_code= user_map->load(Options::Main::password_file_name, &err_msg);
|
||||||
|
|
||||||
|
if (!err_code)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (err_code == ERR_PASSWORD_FILE_DOES_NOT_EXIST &&
|
||||||
|
Options::Main::mysqld_safe_compatible)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
The password file does not exist, but we are running in
|
||||||
|
mysqld_safe-compatible mode. Continue, but complain in log.
|
||||||
|
*/
|
||||||
|
|
||||||
|
log_info("Warning: password file does not exist, "
|
||||||
|
"nobody will be able to connect to Instance Manager.");
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
log_error("Manager: %s.", (const char *) err_msg);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Main manager function.
|
Main manager function.
|
||||||
|
|
||||||
|
@ -201,9 +248,7 @@ void Manager::stop_all_threads()
|
||||||
|
|
||||||
int Manager::main()
|
int Manager::main()
|
||||||
{
|
{
|
||||||
int err_code;
|
|
||||||
int rc= 1;
|
int rc= 1;
|
||||||
const char *err_msg;
|
|
||||||
bool shutdown_complete= FALSE;
|
bool shutdown_complete= FALSE;
|
||||||
pid_t manager_pid= getpid();
|
pid_t manager_pid= getpid();
|
||||||
|
|
||||||
|
@ -258,33 +303,10 @@ int Manager::main()
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize user map and load password file. */
|
/* Initialize user db. */
|
||||||
|
|
||||||
if (user_map.init())
|
if (init_user_map(&user_map))
|
||||||
{
|
return 1; /* logging has been already done. */
|
||||||
log_error("Manager: can not initialize user list: out of memory.");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((err_code= user_map.load(Options::Main::password_file_name, &err_msg)))
|
|
||||||
{
|
|
||||||
if (err_code == ERR_PASSWORD_FILE_DOES_NOT_EXIST &&
|
|
||||||
Options::Main::mysqld_safe_compatible)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
The password file does not exist, but we are running in
|
|
||||||
mysqld_safe-compatible mode. Continue, but complain in log.
|
|
||||||
*/
|
|
||||||
|
|
||||||
log_info("Warning: password file does not exist, "
|
|
||||||
"nobody will be able to connect to Instance Manager.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
log_error("Manager: %s.", (const char *) err_msg);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Write Instance Manager pid file. */
|
/* Write Instance Manager pid file. */
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static void stop_all_threads();
|
static void stop_all_threads();
|
||||||
|
static bool init_user_map(User_map *user_map);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static Guardian *p_guardian;
|
static Guardian *p_guardian;
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
mysql subsystem.
|
mysql subsystem.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int im_main(int argc, char *argv[]);
|
static int main_impl(int argc, char *argv[]);
|
||||||
|
|
||||||
#ifndef __WIN__
|
#ifndef __WIN__
|
||||||
static struct passwd *check_user();
|
static struct passwd *check_user();
|
||||||
|
@ -90,7 +90,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
log_info("IM: started.");
|
log_info("IM: started.");
|
||||||
|
|
||||||
return_value= im_main(argc, argv);
|
return_value= main_impl(argc, argv);
|
||||||
|
|
||||||
log_info("IM: finished.");
|
log_info("IM: finished.");
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ int main(int argc, char *argv[])
|
||||||
Instance Manager main functionality.
|
Instance Manager main functionality.
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
int im_main(int argc, char *argv[])
|
int main_impl(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue