mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +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 <signal.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
/*
|
||||
Include my_global.h right after system includes so that we can change
|
||||
system defines if needed.
|
||||
sys/wait.h is needed for waitpid(). Unfortunately, there is no MySQL
|
||||
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_alarm.h"
|
||||
#include "my_sys.h"
|
||||
|
||||
/* 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.
|
||||
|
||||
|
@ -201,9 +248,7 @@ void Manager::stop_all_threads()
|
|||
|
||||
int Manager::main()
|
||||
{
|
||||
int err_code;
|
||||
int rc= 1;
|
||||
const char *err_msg;
|
||||
bool shutdown_complete= FALSE;
|
||||
pid_t manager_pid= getpid();
|
||||
|
||||
|
@ -258,33 +303,10 @@ int Manager::main()
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* Initialize user map and load password file. */
|
||||
/* Initialize user db. */
|
||||
|
||||
if (user_map.init())
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
if (init_user_map(&user_map))
|
||||
return 1; /* logging has been already done. */
|
||||
|
||||
/* Write Instance Manager pid file. */
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ public:
|
|||
|
||||
private:
|
||||
static void stop_all_threads();
|
||||
static bool init_user_map(User_map *user_map);
|
||||
|
||||
private:
|
||||
static Guardian *p_guardian;
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
mysql subsystem.
|
||||
*/
|
||||
|
||||
static int im_main(int argc, char *argv[]);
|
||||
static int main_impl(int argc, char *argv[]);
|
||||
|
||||
#ifndef __WIN__
|
||||
static struct passwd *check_user();
|
||||
|
@ -90,7 +90,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
log_info("IM: started.");
|
||||
|
||||
return_value= im_main(argc, argv);
|
||||
return_value= main_impl(argc, argv);
|
||||
|
||||
log_info("IM: finished.");
|
||||
|
||||
|
@ -108,7 +108,7 @@ int main(int argc, char *argv[])
|
|||
Instance Manager main functionality.
|
||||
*************************************************************************/
|
||||
|
||||
int im_main(int argc, char *argv[])
|
||||
int main_impl(int argc, char *argv[])
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
|
Loading…
Reference in a new issue