mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	im_daemon_life_cycle fails randomly.
1. Move IM-angel functionality into a separate file, create Angel class.
2. Be more verbose;
3. Fix typo in FLUSH INSTANCES implementation;
4. Polishing.
mysql-test/r/im_options.result:
  Updated result file.
mysql-test/t/im_cmd_line.imtest:
  Updated test.
server-tools/instance-manager/IMService.cpp:
  Move HandleServiceOptions() into IMService::main().
server-tools/instance-manager/IMService.h:
  Move HandleServiceOptions() into IMService::main().
server-tools/instance-manager/Makefile.am:
  Added angel.cc and angel.h.
server-tools/instance-manager/WindowsService.cpp:
  Initialize class-members in constructor.
server-tools/instance-manager/WindowsService.h:
  Initialize class-members in constructor.
server-tools/instance-manager/commands.cc:
  Return actual error code (ER_OUT_OF_RESOURCES or ER_THERE_IS_ACTIVE_INSTANCE)
  from FLUSH INSTANCES.
server-tools/instance-manager/manager.cc:
  1. Return actual error code from Manager::flush_instances().
  2. Be more verbose.
server-tools/instance-manager/manager.h:
  Return actual error code from Manager::flush_instances().
server-tools/instance-manager/mysqlmanager.cc:
  Move IM-angel functionality into separate file (angel.cc).
server-tools/instance-manager/priv.cc:
  Use return bool datatype instead int{ 0, 1 }.
server-tools/instance-manager/priv.h:
  Use return bool datatype instead int{ 0, 1 }.
server-tools/instance-manager/angel.cc:
  IM-angel functionality.
server-tools/instance-manager/angel.h:
  IM-angel functionality.
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Copyright (C) 2004-2006 MySQL AB
 | |
| 
 | |
|    This program is free software; you can redistribute it and/or modify
 | |
|    it under the terms of the GNU General Public License as published by
 | |
|    the Free Software Foundation; version 2 of the License.
 | |
| 
 | |
|    This program is distributed in the hope that it will be useful,
 | |
|    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|    GNU General Public License for more details.
 | |
| 
 | |
|    You should have received a copy of the GNU General Public License
 | |
|    along with this program; if not, write to the Free Software
 | |
|    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 | |
| 
 | |
| #ifndef INCLUDES_MYSQL_INSTANCE_MANAGER_PRIV_H
 | |
| #define INCLUDES_MYSQL_INSTANCE_MANAGER_PRIV_H
 | |
| 
 | |
| #include <my_global.h>
 | |
| #include <m_string.h>
 | |
| #include <my_pthread.h>
 | |
| 
 | |
| #include <sys/types.h>
 | |
| 
 | |
| #ifndef __WIN__
 | |
| #include <unistd.h>
 | |
| #endif
 | |
| 
 | |
| #include "portability.h"
 | |
| 
 | |
| /* IM-wide platform-independent defines */
 | |
| #define SERVER_DEFAULT_PORT 3306
 | |
| #define DEFAULT_MONITORING_INTERVAL 20
 | |
| #define DEFAULT_PORT 2273
 | |
| /* three-week timeout should be enough */
 | |
| #define LONG_TIMEOUT ((ulong) 3600L*24L*21L)
 | |
| 
 | |
| const int MEM_ROOT_BLOCK_SIZE= 512;
 | |
| 
 | |
| /* The maximal length of option name and option value. */
 | |
| const int MAX_OPTION_LEN= 1024;
 | |
| 
 | |
| /*
 | |
|   The maximal length of whole option string:
 | |
|     --<option name>=<option value>
 | |
| */
 | |
| const int MAX_OPTION_STR_LEN= 2 + MAX_OPTION_LEN + 1 + MAX_OPTION_LEN + 1;
 | |
| 
 | |
| const int MAX_VERSION_LENGTH= 160;
 | |
| 
 | |
| const int MAX_INSTANCE_NAME_SIZE= FN_REFLEN;
 | |
| 
 | |
| extern const LEX_STRING mysqlmanager_version;
 | |
| 
 | |
| /* MySQL client-server protocol version: substituted from configure */
 | |
| extern const unsigned char protocol_version;
 | |
| 
 | |
| /*
 | |
|   These variables are used in MySQL subsystem to work with mysql clients
 | |
|   To be moved to a config file/options one day.
 | |
| */
 | |
| 
 | |
| 
 | |
| /* Buffer length for TCP/IP and socket communication */
 | |
| extern unsigned long net_buffer_length;
 | |
| 
 | |
| 
 | |
| /* Maximum allowed incoming/ougoung packet length */
 | |
| extern unsigned long max_allowed_packet;
 | |
| 
 | |
| 
 | |
| /*
 | |
|   Number of seconds to wait for more data from a connection before aborting
 | |
|   the read
 | |
| */
 | |
| extern unsigned long net_read_timeout;
 | |
| 
 | |
| 
 | |
| /*
 | |
|   Number of seconds to wait for a block to be written to a connection
 | |
|   before aborting the write.
 | |
| */
 | |
| extern unsigned long net_write_timeout;
 | |
| 
 | |
| 
 | |
| /*
 | |
|   If a read on a communication port is interrupted, retry this many times
 | |
|   before giving up.
 | |
| */
 | |
| extern unsigned long net_retry_count;
 | |
| 
 | |
| extern unsigned int test_flags;
 | |
| extern unsigned long bytes_sent, bytes_received;
 | |
| extern unsigned long mysqld_net_retry_count;
 | |
| extern unsigned long open_files_limit;
 | |
| 
 | |
| bool create_pid_file(const char *pid_file_name, int pid);
 | |
| 
 | |
| #endif // INCLUDES_MYSQL_INSTANCE_MANAGER_PRIV_H
 |