spawned threads with a reusable class Thread.
This is the second idea implemented in the Alik's patch for
BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
Failed and Abandoned.
Commiting separately to ease review process.
server-tools/instance-manager/commands.cc:
Remove an unused header.
server-tools/instance-manager/guardian.cc:
Use Thread framework instead of manually spawning the Guardian thread.
Tidy up.
server-tools/instance-manager/guardian.h:
Use Thread framework instead of manually spawning the Guardian thread.
server-tools/instance-manager/instance.cc:
Use Thread framework instead of manually spawning the instance
monitoring thread.
server-tools/instance-manager/listener.cc:
Use Thread framework instead of manually spawning the
mysql connection thread.
server-tools/instance-manager/listener.h:
Use Thread framework instead of manually spawning the
mysql connection thread.
Rename Listener_thread to Listener for brevity.
server-tools/instance-manager/manager.cc:
Change references to pointers, as per the coding style.
Use Thread framework instead of manually spawning threads.
server-tools/instance-manager/mysql_connection.cc:
Get rid of Mysql_connection_thread_args. Use class Thread framework
instead. Rename Mysql_connection_thread to Mysql_connection for brevity.
server-tools/instance-manager/mysql_connection.h:
Get rid of Mysql_connection_thread_args. Use class Thread framework
instead. Rename Mysql_connection_thread to Mysql_connection for brevity.
server-tools/instance-manager/priv.cc:
Move set_stacksize_and_create_thread to thread_registry.cc and make it
static: it is not used anywhere else now.
server-tools/instance-manager/priv.h:
No public set_stacksize_n_create_thread
server-tools/instance-manager/thread_registry.cc:
Implement a base Thread class to be used for all Instance Manager
threads.
server-tools/instance-manager/thread_registry.h:
Implement a base Thread class to be used for all Instance Manager
threads.
BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
Failed and Abandoned
mysql-test/t/im_options.imtest:
Update test for new framework.
server-tools/instance-manager/IMService.cpp:
Use Manager class instead of manager().
Reformat comments.
server-tools/instance-manager/Makefile.am:
Treat warnings as errors.
server-tools/instance-manager/command.cc:
Store references to Guardian_thread and Instance_map in Command attributes.
server-tools/instance-manager/command.h:
Store references to Guardian_thread and Instance_map in Command
attributes.
server-tools/instance-manager/commands.cc:
Remove Instance_map argument from command constructors.
server-tools/instance-manager/commands.h:
Remove Instance_map argument from command constructors.
server-tools/instance-manager/guardian.cc:
Rename: Guardian_thread -> Guardian
server-tools/instance-manager/guardian.h:
Rename: Guardian_thread -> Guardian
server-tools/instance-manager/instance_map.cc:
Rename: Guardian_thread -> Guardian.
server-tools/instance-manager/instance_map.h:
Rename: Guardian_thread -> Guardian.
server-tools/instance-manager/manager.cc:
Use Manager class instead of manager() function.
server-tools/instance-manager/manager.h:
Transfer manager() function into Manager class (singleton).
server-tools/instance-manager/mysql_connection.cc:
Polishing.
server-tools/instance-manager/mysqlmanager.cc:
Use Manager class instead of manager() function.
server-tools/instance-manager/parse.cc:
Rename: Guardian_thread -> Guardian
server-tools/instance-manager/parse.h:
Rename: Guardian_thread -> Guardian
server-tools/instance-manager/priv.cc:
Move create_pid_file() out of manager.cc.
server-tools/instance-manager/priv.h:
Move create_pid_file() out of manager.cc.
server-tools/instance-manager/thread_registry.h:
Prevent copying.
server-tools/instance-manager/user_map.cc:
Fix alignment.
The problem was that IM stoped guarded instances on shutdown,
but didn't wait for them to stop.
The fix is to wait for guarded instances to stop before exitting
from the main thread.
The idea is that Instance-monitoring thread should add itself
to Thread_registry so that it will be taken into account on shutdown.
However, Thread_registry should not signal it on shutdown in order to
not interrupt wait()/waitpid().
server-tools/instance-manager/guardian.cc:
Be more verbose.
server-tools/instance-manager/instance.cc:
Register mysqld-monitoring thread in Thread_registry.
server-tools/instance-manager/instance.h:
Add reference to Thread_registry.
server-tools/instance-manager/instance_map.cc:
Pass Thread_registry reference to Instance.
server-tools/instance-manager/instance_map.h:
Add reference to Thread_registry.
server-tools/instance-manager/listener.cc:
Be more verbose.
server-tools/instance-manager/manager.cc:
Be more verbose.
server-tools/instance-manager/mysql_connection.cc:
Eliminate type-conversion warnings.
server-tools/instance-manager/thread_registry.cc:
Be more verbose.
server-tools/instance-manager/thread_registry.h:
Eliminate copy&paste, make impl-specific constructor private.
into bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
mysql-test/r/im_daemon_life_cycle.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/rpl_insert_id.result:
Auto merged
mysql-test/r/sp-vars.result:
Auto merged
mysql-test/r/trigger.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
Auto merged
mysql-test/t/ps.test:
Auto merged
mysql-test/t/rpl_insert_id.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/trigger.test:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
server-tools/instance-manager/guardian.h:
Auto merged
server-tools/instance-manager/instance_map.cc:
Auto merged
server-tools/instance-manager/listener.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/mysql_client_test.c:
Auto merged
mysql-test/r/sp-error.result:
Use local
mysql-test/r/sp.result:
Use local
(will overwrite)
mysql-test/t/view.test:
Use local.
mysql-test/mysql-test-run.pl:
Manual merge.
mysql-test/t/sp-error.test:
Manual merge.
server-tools/instance-manager/instance.cc:
Manual merge.
server-tools/instance-manager/manager.cc:
Manual merge.
server-tools/instance-manager/options.cc:
Manual merge.
server-tools/instance-manager/options.h:
Manual merge.
sql/log_event.cc:
Manual merge.
sql/set_var.cc:
Manual merge.
sql/sql_class.h:
Manual merge.
sql/sql_insert.cc:
Manual merge.
sql/sql_load.cc:
Manual merge.
sql/sql_select.cc:
Manual merge.
sql/sql_update.cc:
Manual merge.
server-tools/instance-manager/guardian.cc:
1. Removed unused stop_instances_arg from request_shutdown() and
stop_instances() methods.
2. Changed log-output statements so that instance name is passed
correctly (char *, not LEX_STRING)
server-tools/instance-manager/guardian.h:
Removed unused stop_instances_arg from request_shutdown() and
stop_instances() methods.
server-tools/instance-manager/instance.cc:
Removed unused stop_instances_arg from request_shutdown() and
stop_instances() methods.
server-tools/instance-manager/listener.cc:
Be more verbose in log.
server-tools/instance-manager/manager.cc:
Removed unused stop_instances argument.
Stop guardian and all the rest of threads before shutdown in case of an error
server-tools/instance-manager/instance_map.cc:
flush_instances shouldn't reinit guardian, if it
failed to load info about them
server-tools/instance-manager/manager.cc:
On error we should 1) stop guardian 2) terminate all
other threads and exit
server-tools/instance-manager/guardian.cc:
Removed erroneous unlock() in Guardian_thread::init():
instance_map is unlocked in the caller.
server-tools/instance-manager/instance_map.cc:
Added TODO comment.
server-tools/instance-manager/manager.cc:
Make initialization of alarm infrustructure before starting Guardian
thread, because Guardian uses thr_alarm().
into a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
mysql-test/r/lock_multi.result:
Auto merged
mysql-test/r/sp.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/view_grant.result:
Auto merged
mysql-test/t/lock_multi.test:
Auto merged
mysql-test/t/sp.test:
Auto merged
mysql-test/t/view_grant.test:
Auto merged
mysys/default.c:
Auto merged
server-tools/instance-manager/guardian.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
storage/heap/hp_write.c:
Auto merged
storage/ndb/src/ndbapi/DictCache.cpp:
Auto merged
storage/ndb/src/ndbapi/DictCache.hpp:
Auto merged
client/mysqlbinlog.cc:
Manual merge from 5.0
client/mysqldump.c:
Manual merge from 5.0
configure.in:
Manual merge from 5.0
mysql-test/r/mysqldump.result:
Manual merge from 5.0
mysql-test/t/mysqldump.test:
Manual merge from 5.0
mysql-test/t/rpl_insert_id.test:
Manual merge from 5.0
server-tools/instance-manager/manager.cc:
Manual merge from 5.0
sql/field.cc:
Manual merge from 5.0
sql/ha_ndbcluster.cc:
Manual merge from 5.0
sql/mysqld.cc:
Manual merge from 5.0
sql/sql_base.cc:
Manual merge from 5.0
sql/sql_lex.cc:
Manual merge from 5.0
sql/sql_select.cc:
Manual merge from 5.0
sql/sql_table.cc:
Manual merge from 5.0
into mysql.com:/mnt/raid/MySQL/devel/5.1-rt-wl3158-merged
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
Auto merged
include/my_sys.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
Auto merged
mysql-test/r/im_daemon_life_cycle.result:
Auto merged
mysql-test/r/im_life_cycle.result:
Auto merged
server-tools/instance-manager/Makefile.am:
Auto merged
server-tools/instance-manager/mysqlmanager.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/structs.h:
Auto merged
mysql-test/r/im_utils.result:
Auto merged
server-tools/instance-manager/instance_options.cc:
Manually merged.
server-tools/instance-manager/instance_options.h:
Manually merged.
server-tools/instance-manager/manager.cc:
Manually merged.
server-tools/instance-manager/manager.h:
Manually merged.
server-tools/instance-manager/options.cc:
Manually merged.
server-tools/instance-manager/options.h:
Manually merged.
- WL#3158: IM: Instance configuration extensions;
- WL#3159: IM: --bootstrap and --start-default-instance modes
The following new statements have been added:
- CREATE INSTANCE;
- DROP INSTANCE;
The behaviour of the following statements have been changed:
- SET;
- UNSET;
- FLUSH INSTANCES;
- SHOW INSTANCES;
- SHOW INSTANCE OPTIONS;
BitKeeper/deleted/.del-im_options_set.imtest~b53d9d60e5684833:
Delete: mysql-test/t/im_options_set.imtest
BitKeeper/deleted/.del-im_options_set.result~59278f56be61d921:
Delete: mysql-test/r/im_options_set.result
BitKeeper/deleted/.del-im_options_unset.imtest~768eb186b51d0048:
Delete: mysql-test/t/im_options_unset.imtest
BitKeeper/deleted/.del-im_options_unset.result~20a4790cd3c70a4f:
Delete: mysql-test/r/im_options_unset.result
client/get_password.c:
Change prototype to avoid casting when using C-strings (char *).
include/m_string.h:
Moved LEX_STRING to global header from sql/ to be accessible
from all components (IM for one).
include/my_sys.h:
Added constants for modify_defaults_file().
include/mysql_com.h:
Removed duplicated declarations. my_sys.h should be used instead.
libmysql/get_password.c:
Change prototype to avoid casting when using C-strings (char *).
mysql-test/mysql-test-run.pl:
Added environment variables to be used from tests.
mysql-test/r/im_daemon_life_cycle.result:
Column name has been changed in SHOW INSTANCES.
mysql-test/r/im_life_cycle.result:
1. Column name has been changed in SHOW INSTANCES.
2. Removed redundant SHOW INSTANCE STATUS statements.
mysql-test/r/im_utils.result:
Updated the result file.
mysql-test/t/im_daemon_life_cycle-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_daemon_life_cycle.imtest:
Get Instance Manager and managed mysqld-instances enough time to start.
mysql-test/t/im_life_cycle.imtest:
1. Polishing;
2. Fixed a test error in 1.1.2.
mysql-test/t/im_utils.imtest:
Get Instance Manager and managed mysqld-instances enough time to start.
mysys/default.c:
Pass the name of the section to the handler function as well.
mysys/default_modify.c:
Added REMOVE_SECTION functionality.
server-tools/instance-manager/IMService.cpp:
Polishing: be more verbose.
server-tools/instance-manager/IMService.h:
Polishing: added copyright.
server-tools/instance-manager/Makefile.am:
Added new files.
server-tools/instance-manager/WindowsService.cpp:
Polishing: according to The Coding Style, TRUE/FALSE must be
used instead of true/false.
server-tools/instance-manager/WindowsService.h:
Polishing: added copyright.
server-tools/instance-manager/command.h:
Polishing: provide a comment for the main operation of "Command" class.
server-tools/instance-manager/commands.cc:
1. Added support for CREATE INSTANCE, DROP INSTANCE statements;
2. Added "deprecated" column in output of SHOW INSTANCE OPTIONS;
3. Modified the behaviour of SET/UNSET, FLUSH INSTANCES statements;
server-tools/instance-manager/commands.h:
1. Added support for CREATE INSTANCE, DROP INSTANCE statements;
2. Added "deprecated" column in output of SHOW INSTANCE OPTIONS;
3. Modified the behaviour of SET/UNSET, FLUSH INSTANCES statements;
server-tools/instance-manager/guardian.cc:
Added operations to retrieve state of managed instances.
server-tools/instance-manager/guardian.h:
Added operations to retrieve state of managed instances.
server-tools/instance-manager/instance.cc:
1. Provided an operation to check validity of instance name.
2. Added an attribute to distiguish mysqld-instances,
whose configuration should be kept backward-compatible.
server-tools/instance-manager/instance.h:
1. Provided an operation to check validity of instance name.
2. Added an attribute to distiguish mysqld-instances,
whose configuration should be kept backward-compatible.
server-tools/instance-manager/instance_map.cc:
1. Used the operation to check validity of instance name;
2. Added operations to manage instances.
server-tools/instance-manager/instance_map.h:
Added operations to manage instances.
server-tools/instance-manager/instance_options.cc:
Changed Instance_options so that it will be possible to manage
options on the fly.
server-tools/instance-manager/instance_options.h:
Changed Instance_options so that it will be possible to manage
options on the fly.
server-tools/instance-manager/listener.cc:
1. Remove reference to the instance of Options;
2. Use new Options naming scheme.
server-tools/instance-manager/listener.h:
Remove reference to the instance of Options;
server-tools/instance-manager/log.cc:
Polishing: use TRUE/FALSE instead of true/false.
server-tools/instance-manager/manager.cc:
Added a common for IM operation to work with configuration file.
server-tools/instance-manager/manager.h:
Added a common for IM operation to work with configuration file.
server-tools/instance-manager/messages.cc:
Added messages for new errors.
server-tools/instance-manager/mysql_connection.cc:
1. Move a constant to common place.
2. Polishing.
server-tools/instance-manager/mysql_manager_error.h:
Added new errors.
server-tools/instance-manager/mysqlmanager.cc:
1. Use error code from Options::load();
2. Eliminate type-casting warning on Windows.
server-tools/instance-manager/options.cc:
Added support for user-management command-line options.
server-tools/instance-manager/options.h:
Added support for user-management command-line options.
server-tools/instance-manager/parse.cc:
1. Added support of new statements:
- CREATE INSTANCE;
- DROP INSTANCE.
2. Modified SET/UNSET.
server-tools/instance-manager/parse.h:
1. Added support of new statements:
- CREATE INSTANCE;
- DROP INSTANCE.
2. Modified SET/UNSET.
server-tools/instance-manager/parse_output.cc:
Sorted out header files.
server-tools/instance-manager/parse_output.h:
Sorted out header files.
server-tools/instance-manager/portability.h:
1. Added constants for Windows.
2. Moved system-dependent defines from instance_options.cc.
server-tools/instance-manager/priv.cc:
Updated version.
server-tools/instance-manager/priv.h:
Added some global constants.
server-tools/instance-manager/protocol.cc:
Replaced NAME_WITH_LENGTH by LEX_STRING.
server-tools/instance-manager/protocol.h:
Replaced NAME_WITH_LENGTH by LEX_STRING.
server-tools/instance-manager/thread_registry.cc:
Polishing: use TRUE/FALSE instead of true/false.
server-tools/instance-manager/user_map.cc:
Added support for managing password database.
server-tools/instance-manager/user_map.h:
Added support for managing password database.
sql/sp.cc:
Replaced LEX_STRING_WITH_INIT by LEX_STRING + struct initialization.
sql/sp_head.cc:
Replaced LEX_STRING_WITH_INIT by LEX_STRING + struct initialization.
sql/spatial.cc:
Removed LEX_STRING_WITH_INIT.
sql/spatial.h:
Removed LEX_STRING_WITH_INIT.
sql/sql_string.h:
Moved STRING_WITH_LEN() macro out from sql (to m_string.h).
sql/sql_trigger.cc:
Moved STRING_WITH_LEN() macro out from sql (to m_string.h).
sql/structs.h:
Removed LEX_STRING_WITH_INIT.
support-files/mysql.server.sh:
Instruct Instance Manager to work in mysqld-safe compatible mode
for backward compatibility.
mysql-test/r/im_cmd_line.result:
Added result file.
mysql-test/r/im_instance_conf.result:
Added result file.
mysql-test/r/im_options.result:
Added result file.
mysql-test/t/im_cmd_line.imtest:
IM command-line options test.
mysql-test/t/im_instance_conf-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_instance_conf.imtest:
Added a new test case for checking instance-management.
mysql-test/t/im_life_cycle-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
mysql-test/t/im_options.imtest:
Join im_options_set and im_options_unset and add new tests.
mysql-test/t/im_utils-im.opt:
Set minimal monitoring interval for Instance Manager to speed up testing.
server-tools/instance-manager/exit_codes.h:
New file for defining exit codes for user-management mode.
server-tools/instance-manager/user_management_commands.cc:
User-management commands implementation.
server-tools/instance-manager/user_management_commands.h:
User-management command declarations.
tests fail on FreeBSD.
The patch contains of the following:
- make Instance Manager, running in the daemon mode, dump
the pid of angel-process in the special file;
- default value of angel-pid-file-name is 'mysqlmanager.angel.pid';
- if ordinary (IM) pid-file-name is specified in the configuration,
angel-pid-file-name is updated according to the following
rule: extension of the basename of pid-file-name is replaced by
'.angel.pid.
For example:
- pid-file-name: /tmp/im.pid
=> angel-pid-file-name: /tmp/im.angel.pid
- pid-file-name: /tmp/im.txt
=> angel-pid-file-name: /tmp/im.angel.pid
- pid-file-name: /tmp/5.0/im
=> angel-pid-file-name: /tmp/5.0/im.angel.pid
- add support for configuration option to customize angel
pid file name;
- fix test suite to use angel pid to kill Instance Manager
by all means if something went wrong.
Background
----------
The problem is that on some OSes (FreeBSD for one) Instance
Manager does not get SIGTERM, so can not shutdown gracefully.
Test suite wasn't able to cope with it, so this leads to the
mess in test results.
The problem should be split into two:
- fix signal handling;
- fix test suite.
This patch fixes test suite so that it will be able to kill
uncooperative Instance Manager. In order to achieve this,
test suite needs to know PID of IM Angel process.
mysql-test/lib/mtr_process.pl:
Added a function to send a signal to a process.
mysql-test/mysql-test-run.pl:
Changed procedure of stopping Instance Manager.
1. Try to stop IM normally (by sending SIGTERM);
2. If one of IM-related processes is still alive,
kill them all by SIGKILL and complain in the log.
server-tools/instance-manager/manager.cc:
Made create_pid_file() available for the whole project.
server-tools/instance-manager/manager.h:
Made create_pid_file() available for the whole project.
server-tools/instance-manager/mysqlmanager.cc:
Dump PID of angel process into file.
server-tools/instance-manager/options.cc:
Added an option to allow to customize angel pid file name.
server-tools/instance-manager/options.h:
Added an option to allow to customize angel pid file name.
duration of the whole 'flush instances'. As a consequence,
it was possible to query instance map, while it is in the
inconsistent state. The patch was reworked after review.
server-tools/instance-manager/guardian.cc:
do not lock instance map in Guardian_thread::init()
server-tools/instance-manager/instance_map.cc:
Eliminate race condition: lock instance map and guardian
for the duration of the whole "FLUSH INSTANCES" execution.
server-tools/instance-manager/instance_map.h:
add new method. cleanup interface. add comments.
server-tools/instance-manager/manager.cc:
use instance_map.flush_instances instead of instance_map.load() and guardian_thread.init()
server-tools/instance-manager/listener.cc:
every new connection should have sufficient thread stack to
handle all IM commands
server-tools/instance-manager/manager.cc:
change stack size of listener and guardian threads
server-tools/instance-manager/priv.cc:
Add a new function, which is a wrapper around pthread_create to increase the stack size
server-tools/instance-manager/priv.h:
declare new function
bug 2030. Will push a proper fix later
server-tools/instance-manager/manager.cc:
Fix im tests on powermacg5: temporarily fix for problem with Darwin kernels.
BitKeeper/deleted/.del-factory.h~c1679505d3a6dd53:
Delete: server-tools/instance-manager/factory.h
BitKeeper/deleted/.del-factory.cc~6836cccd4cd35b4d:
Delete: server-tools/instance-manager/factory.cc
server-tools/instance-manager/Makefile.am:
- remove Commands_factory: it'll be needed when we add support
for NNTP/HTTP connections, currently it only adds unnecessary
complexity.
server-tools/instance-manager/commands.cc:
- fix coding style: no else after return; fix comments, make
one place a bit faster.
server-tools/instance-manager/guardian.cc:
- fix coding style and comments.
- we must register the current thread in the thread registry
before entering pthread_cond_timedwait, because at shutdown
the thread registry will try to kick out of wait all blocked
threads. Unregistered threads are not awakened by the registry.
This fixes the failinig assert in Thread_registry::~Thread_registry
at shutdown, when shutdown is requested and there is an
instance monitored by Guardian.
server-tools/instance-manager/guardian.h:
- fix coding style: enums must start with enum_
server-tools/instance-manager/instance.h:
- move comment to the variable it comments
server-tools/instance-manager/instance_map.cc:
- cleanup
server-tools/instance-manager/instance_options.cc:
- cleanup; no else after return (fix coding style).
server-tools/instance-manager/manager.cc:
- fix alignment; make some code easier to read.
server-tools/instance-manager/mysql_connection.cc:
- remove Commands_factory
server-tools/instance-manager/options.cc:
- fix a possible crash when the instance manager is started with
--no-defaults --defaults-file=~/.my.cnf: if we return
without cloning saved_argv by calling load_defaults, Options::cleanup
will crash on attempt to free_defaults(saved_argv);
server-tools/instance-manager/parse.cc:
- get rid of Commands_factory
server-tools/instance-manager/parse.h:
- get rid of Commands_factory
server-tools/instance-manager/parse_output.cc:
- in parse_output_and_get_value return error also if the specified
pattern was not found, or the command failed to execute.
server-tools/instance-manager/portability.h:
- fix coding style (// comments are allowed only at ends of lines)
server-tools/instance-manager/thread_registry.cc:
- implement Thread_registry::cond_timedwait
server-tools/instance-manager/thread_registry.h:
- implement Thread_registry::cond_timedwait; remove
unused out parameter from Thread_registry::cond_wait.
server-tools/instance-manager/user_map.cc:
- safety: newline can take 2 bytes.
server-tools/instance-manager/commands.cc:
fix memory leak
server-tools/instance-manager/guardian.cc:
don't check pthread_mutex_lock/unlock return value, as it never returns error if properly
used (no self deadlocks) and initialized
server-tools/instance-manager/guardian.h:
prototype fixed
server-tools/instance-manager/instance_map.cc:
don't check pthread_mutex_lock/unlock status, as it never returns error if
properly used (no self deadlocks) and initialized
server-tools/instance-manager/instance_map.h:
prototype fixed
server-tools/instance-manager/listener.cc:
initialize highest-numbered descriptor to 0 for select before setting it with max(n, sockets[i]),
ifdef unix-specific code
server-tools/instance-manager/manager.cc:
remove commented stuff
server-tools/instance-manager/options.cc:
fix crash in load_defaults, which happened on all Unix systems due to
const char *Options::config_file= NULL. Check return value for GetModuleFileName.
Get rid of obscure default_config_file[FN_REFLEN]= "/etc/my.cnf"; which was never used
into fedora.(none):/home/reggie/bk/im_patch
server-tools/instance-manager/manager.cc:
Auto merged
server-tools/instance-manager/mysqlmanager.cc:
Auto merged
server-tools/instance-manager/options.h:
Auto merged
server-tools/instance-manager/commands.cc:
final merge of IM port code for Windows
server-tools/instance-manager/instance_map.cc:
final merge of IM port code for Windows
server-tools/instance-manager/options.cc:
final merge of IM port code for Windows
server-tools/instance-manager/IMService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.cpp:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/WindowsService.h:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/commands.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/instance_map.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/listener.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/manager.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/options.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/user_map.cc:
fixed tabs and spacing per JimW's review
server-tools/instance-manager/commands.cc:
get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/commands.h:
get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/instance_map.cc:
get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/instance_map.h:
get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/manager.cc:
get rid of single_defaults_file_option and use Options::config_file instead
server-tools/instance-manager/options.cc:
Disable --defaults-extra-file and --no-defaults options for the IM as they have no sence.
Don't use print_defaults as it prints out wrong "first option" information for IM. Use only
Options::config_file to process options
server-tools/instance-manager/options.h:
get rid of single_defaults_file_option and use Options::config_file instead
Implemented on brian's request.
server-tools/instance-manager/Makefile.am:
define default config file
server-tools/instance-manager/commands.cc:
Use specified or default file to edit with SET commands instead of hardcoded file
server-tools/instance-manager/commands.h:
add member to SET commands
server-tools/instance-manager/instance_map.cc:
rename first_option -> single_defaults_option, made logging a bit more verbose
server-tools/instance-manager/instance_map.h:
rename first_option -> single_defaults_file + made it public
server-tools/instance-manager/manager.cc:
rename first_option -> single_defaults_file
server-tools/instance-manager/mysqlmanager.cc:
goto generic error label instead of simple return
server-tools/instance-manager/options.cc:
skip --defaults-extra file and give a message if it was specified, made IM
to read one config file only
server-tools/instance-manager/options.h:
added new members to the option structure
server-tools/instance-manager/commands.cc:
type cleanups for compiling on Windows
now using Options::config_file for the location of the single
my.cnf file we are using
server-tools/instance-manager/guardian.cc:
pthread_mutex_lock and unlock do not return a value on Windows
so we return 0 in all cases
server-tools/instance-manager/instance.cc:
big changes here.
Had to implement Windows versions of launch_and_wait and kill()
server-tools/instance-manager/instance.h:
added some function defs
server-tools/instance-manager/instance_map.cc:
pthread_mutex_lock and unlock do not return a value on Windows
Also, now using only the file named as Options::config_file
server-tools/instance-manager/instance_options.h:
added reference to port.h
server-tools/instance-manager/listener.cc:
reworked and simplified the socket handling code.
Added windows versions of the code that sets the sockets to be
non-blocking and non-inheritable
server-tools/instance-manager/listener.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/log.cc:
added reference to port.h
server-tools/instance-manager/manager.cc:
moved all the signal code inside some #ifndef __WIN__ blocks
server-tools/instance-manager/manager.h:
change Options to always be a struct. Really surprised GCC was
letting this go. Options was declared to be struct in some places
and class in other places.
server-tools/instance-manager/mysqlmanager.cc:
added in the Windows service code.
server-tools/instance-manager/options.cc:
Added in the windows options for running as a service and the code
for loading settings only from a single file
server-tools/instance-manager/options.h:
added definitions for the new Windows service vars and routines
server-tools/instance-manager/parse_output.cc:
added reference to port.h
server-tools/instance-manager/priv.cc:
added reference to port.h
server-tools/instance-manager/priv.h:
linuxthreads should not be visible on Windows
server-tools/instance-manager/thread_registry.cc:
more __WIN__ blocking
server-tools/instance-manager/user_map.cc:
fixed passwd file code to handle files with \r\n line endings
server-tools/instance-manager/IMService.cpp:
New BitKeeper file ``server-tools/instance-manager/IMService.cpp''
server-tools/instance-manager/IMService.h:
New BitKeeper file ``server-tools/instance-manager/IMService.h''
server-tools/instance-manager/WindowsService.cpp:
New BitKeeper file ``server-tools/instance-manager/WindowsService.cpp''
server-tools/instance-manager/WindowsService.h:
New BitKeeper file ``server-tools/instance-manager/WindowsService.h''
server-tools/instance-manager/mysqlmanager.vcproj:
New BitKeeper file ``server-tools/instance-manager/mysqlmanager.vcproj''
server-tools/instance-manager/port.h:
New BitKeeper file ``server-tools/instance-manager/port.h''
include/my_sys.h:
added prototype for the defaults correction function
libmysql/Makefile.shared:
my_chsize added to libmysql to let my_correct_defaults_file be used from libmysql
mysys/default.c:
New defaults function added we use it to correct defaults file. Currently the function doesn't lock defaults
file. This is because of the linking and backwards-compatibility issues. This needs to be fixed later.
mysys/my_chsize.c:
comment added
server-tools/instance-manager/buffer.cc:
cleanup
server-tools/instance-manager/commands.cc:
refactoring: removed do_command method from most of the classes
server-tools/instance-manager/commands.h:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup
server-tools/instance-manager/instance.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_options.cc:
cleanup
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
cleanup
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/manager.cc:
cleanup
server-tools/instance-manager/messages.cc:
new errors added
server-tools/instance-manager/mysql_connection.cc:
cleanup
server-tools/instance-manager/mysql_manager_error.h:
new error codes added
server-tools/instance-manager/mysqlmanager.cc:
clenup
server-tools/instance-manager/options.cc:
cleanup
server-tools/instance-manager/parse.cc:
removed unused function
server-tools/instance-manager/parse.h:
removed prototype
server-tools/instance-manager/protocol.cc:
cleanup
server-tools/instance-manager/protocol.h:
added enum to be used in protocol.cc instead of the constants
server-tools/instance-manager/buffer.cc:
coding style fixes
server-tools/instance-manager/buffer.h:
wrong constructor initialisation fixed
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/guardian.cc:
cleanup + added lock/unlock routines
server-tools/instance-manager/guardian.h:
GUARD_NODE moved to the header
server-tools/instance-manager/instance.cc:
Fix for the linuxthreads/POSIX signal handling problem (see comments in the code)
server-tools/instance-manager/instance.h:
condition variable renamed and commented
server-tools/instance-manager/instance_map.cc:
We need to refresh guardian during flush_instances
server-tools/instance-manager/instance_map.h:
removed obsolete function declaration
server-tools/instance-manager/instance_options.cc:
added caching of computed values
server-tools/instance-manager/instance_options.h:
added vars to cache some option values
server-tools/instance-manager/listener.cc:
check whether we are running on the linux threads
server-tools/instance-manager/manager.cc:
lock guardian before init()
server-tools/instance-manager/parse_output.cc:
cleanup
server-tools/instance-manager/priv.cc:
added global variables to detect whether we are running on the LinuxThreads
server-tools/instance-manager/priv.h:
added global variables to detect whether we are running on the LinuxThreads
BitKeeper/deleted/.del-my.cnf~9322f78f12eb2f3c:
Delete: support-files/my.cnf
include/my_sys.h:
fixed prototype to reflect changes in default.c
mysys/default.c:
use my_search_option_files instead of process_default_option_files. This is used from the IM.
server-tools/instance-manager/instance.cc:
added parameter to complete_initialization(). this ine marks whether we are creating the only instance
(for instance, when no config file given)
server-tools/instance-manager/instance.h:
prototype changed
server-tools/instance-manager/instance_map.cc:
Now call my_search_option_files to work smootly with --defaults-file
server-tools/instance-manager/instance_map.h:
added first_option member. This is set of mysqlmanager was started with --defaults-file or with
--extra-defaults-file to be passed to the my_search_option_files
server-tools/instance-manager/instance_options.cc:
if we have only one instance, name the pidfile `hostname`.pid for compatibility reasons.
server-tools/instance-manager/instance_options.h:
header fixed according to .cc
server-tools/instance-manager/manager.cc:
prototype fixed
server-tools/instance-manager/options.cc:
save --defaults-file of --defaults-extra-file to pass it to my_search_option_files
server-tools/instance-manager/options.h:
added an optin to save --default-file options
support-files/Makefile.am:
revert changes
server-tools/instance-manager/commands.cc:
typo fixed
server-tools/instance-manager/instance.cc:
moved options.complete_initialization to the instance::complete_initialization
server-tools/instance-manager/instance.h:
moved options.complete_initialization to the Instance::complete_initialization
server-tools/instance-manager/instance_map.cc:
moved options.complete_initialization to the Instance::complete_initialization, added code to create
default instance if none is given iin config. file
server-tools/instance-manager/instance_map.h:
complete_initialization now returns an error in case of a problem
server-tools/instance-manager/instance_options.cc:
some error handling added
server-tools/instance-manager/instance_options.h:
error handling added
server-tools/instance-manager/manager.cc:
error handling added
server-tools/instance-manager/mysqlmanager.cc:
stop mysqlmanager if options were not loaded correctly
server-tools/instance-manager/options.cc:
return-value added
server-tools/instance-manager/options.h:
return-value added to the OPtions::load()
server-tools/instance-manager/parse_output.cc:
no need to examine mysqld --help -v termination status
server-tools/instance-manager/buffer.cc:
use my_realloc instead of realloc
server-tools/instance-manager/buffer.h:
use my_malloc instead of malloc
server-tools/instance-manager/commands.cc:
No need to send a buffer if there were some error while writing to it
server-tools/instance-manager/instance_options.cc:
cleanup
server-tools/instance-manager/manager.cc:
check sigwait return value
server-tools/instance-manager/parse_output.cc:
fixed a bug, found with valgrind
BitKeeper/deleted/.del-client_func.c~3476a8a85cbd3c29:
Delete: server-tools/instance-manager/client_func.c
server-tools/instance-manager/Makefile.am:
clien_func removed
server-tools/instance-manager/buffer.cc:
several methods added
server-tools/instance-manager/buffer.h:
Some error-handling fixes.
server-tools/instance-manager/commands.cc:
check for Buffer errors
server-tools/instance-manager/guardian.cc:
Guardian rewiriten. Not it works in a finite state machine-way.
server-tools/instance-manager/guardian.h:
Appropriate (to .cc) changes in the header + some comment added
server-tools/instance-manager/instance.cc:
added proxy thread to monitor instance. Two kinds of stop() now -- stop() and kill_instance which
only sends a signal
server-tools/instance-manager/instance.h:
appropriate changes
server-tools/instance-manager/instance_map.cc:
cleanup
server-tools/instance-manager/instance_map.h:
cleanup
server-tools/instance-manager/instance_options.cc:
Caching of the pid-file-name is added. some comments added
server-tools/instance-manager/instance_options.h:
cleanup
server-tools/instance-manager/listener.cc:
listener my_thread_init added (though it doesn't use any mysys functions). Just in case
server-tools/instance-manager/manager.cc:
SIGCHLD handler removed. now instance monitoring is implemented through proxy threads. This is to work nicely
with LinuxThreads
server-tools/instance-manager/options.cc:
added option to create a password file entry (this was implemented by Sergei Vojtovich)
server-tools/instance-manager/parse.cc:
inline function get_word moved to the header
server-tools/instance-manager/parse.h:
get_word moved here to use form parse_output
server-tools/instance-manager/parse_output.cc:
get_word() clone removed. now looking through the output linewise
server-tools/instance-manager/protocol.cc:
Buffer error chech added
server-tools/instance-manager/user_map.cc:
typo fixed
server-tools/instance-manager/Makefile.am:
increased default_monitoring interval
server-tools/instance-manager/guardian.cc:
some fixes for proper shutdown
server-tools/instance-manager/guardian.h:
removed init() prototype, as it was never used
server-tools/instance-manager/instance.cc:
cleanup() function removed
server-tools/instance-manager/instance.h:
cleanup() prototype removed
server-tools/instance-manager/instance_map.cc:
Instance_map::cleanup() removed, as instances have nothing to clean up
server-tools/instance-manager/instance_map.h:
Instance_map::cleanup() prototype removed
server-tools/instance-manager/instance_options.cc:
added print_argv() function for debug purposes
server-tools/instance-manager/instance_options.h:
declared print_argv()
server-tools/instance-manager/listener.cc:
some fixed in listener for proper shutdown
server-tools/instance-manager/log.cc:
cleanup
server-tools/instance-manager/log.h:
cleanup
server-tools/instance-manager/manager.cc:
some comments added
server-tools/instance-manager/mysqlmanager.cc:
we need to free memory in the very end
server-tools/instance-manager/options.cc:
fixed default options handling (as they were not working properly), added new method to cleanup Options
server-tools/instance-manager/options.h:
cleanup() declared
server-tools/instance-manager/thread_registry.cc:
cleanup
server-tools/instance-manager/user_map.cc:
missing password file is not a critical error anymore, as IM should be able to work as mysqld_safe only
BitKeeper/deleted/.del-thread_repository.cc~bba09f64f8cb4037:
Delete: server-tools/instance-manager/thread_repository.cc
BitKeeper/deleted/.del-thread_repository.h~e6a3b9cab7a6612a:
Delete: server-tools/instance-manager/thread_repository.h
server-tools/instance-manager/commands.cc:
All instances are guarded by default now, so we need to perform check on whether the instance is nonguarded,
rather then guarded when adding it to the list of guarded instnces.
server-tools/instance-manager/guardian.cc:
Guardian rewritten to start instances by default, and shut them down, when exiting. Behaviour of the guardian
in case of the instance crash has changed. Now it tries to restart an instance constantly in the first 2
seconds after the crash was noticed, and then it tries restart an instance once in the MONITORING_INTERVAL.
If it failed to restart instance for "restart_retry" (compiled-in value) times, guardian stops trying to
restart it.
server-tools/instance-manager/guardian.h:
Several new functions and variables declared.
server-tools/instance-manager/instance.cc:
now start doesn't call stop(), but rather tries to remove the pidfile itself
server-tools/instance-manager/instance.h:
cleanup
server-tools/instance-manager/instance_map.cc:
no more "admin" options
server-tools/instance-manager/instance_map.h:
User and password purged from instance_map options, as IM shouldn't know them
server-tools/instance-manager/instance_options.cc:
new option added -- shutdown_delay, guarded option now called nonguaded and has the opposite meaning
server-tools/instance-manager/instance_options.h:
appropriate changes, reflecting options addition/removal
server-tools/instance-manager/manager.cc:
shutdown process is complicated a bit -- at first signal thread should stop guardian, and only then the IM
itself
server-tools/instance-manager/messages.cc:
update error message
server-tools/instance-manager/options.cc:
admin user/password purged from mysqlmanager options
server-tools/instance-manager/Makefile.am:
New file added
server-tools/instance-manager/client_func.c:
typo fixed
server-tools/instance-manager/commands.cc:
there are no admin-user snd admin-password fields anymore, so no need to show their values
server-tools/instance-manager/guardian.cc:
Syncronization added -- now guardian wakes up whenever SIGCLD has been catched
server-tools/instance-manager/guardian.h:
Condition variable declared
server-tools/instance-manager/instance.cc:
Persistent connection to the instance removed. Now we use SIGTERM instead of com_shutdown for STOP. We also
manage SIGCHLD ourselves now (therefore no double fork).
server-tools/instance-manager/instance.h:
Pointer to the instance_map added, MySQL connection structures removed
server-tools/instance-manager/instance_map.cc:
More syncronization added (to make proper STOP)
server-tools/instance-manager/instance_map.h:
added condition variable and mutex for connection threads to wait for SIGCHLD
server-tools/instance-manager/instance_options.cc:
defaults-handling methods have been added.
server-tools/instance-manager/instance_options.h:
New functions and constants declared
server-tools/instance-manager/listener.cc:
No changes here (bk bug?)
server-tools/instance-manager/manager.cc:
SIGCHLD handling added
server-tools/instance-manager/Makefile.am:
Makefile.am cleanup
server-tools/instance-manager/commands.cc:
cleanup
server-tools/instance-manager/instance_map.cc:
fix the problem caused thread deadlock (as load ends up in the find()
call which now also locks an instance map mutex)
server-tools/instance-manager/listener.cc:
portability fix
server-tools/instance-manager/manager.cc:
Ignore SIGPIPE
server-tools/instance-manager/mysqlmanager.cc:
cleanup
server-tools/instance-manager/options.cc:
options renamed
server-tools/instance-manager/Makefile.am:
Removed entry for deleted file
server-tools/instance-manager/buffer.cc:
cleanup
server-tools/instance-manager/commands.cc:
cleanup, added missing error handling
server-tools/instance-manager/instance.cc:
added waitpid in instance_start, added few checks
server-tools/instance-manager/instance_map.cc:
error handling for hash_init added
server-tools/instance-manager/instance_map.h:
Extended constructor
server-tools/instance-manager/instance_options.cc:
made add_option less bulky
server-tools/instance-manager/instance_options.h:
-
server-tools/instance-manager/listener.cc:
added missing close, fixed typo
server-tools/instance-manager/manager.cc:
moved some Instance_map initialization to costructor
server-tools/instance-manager/protocol.cc:
error handling added
server-tools/instance-manager/protocol.h:
store_to_string fixed to return a value
server-tools/instance-manager/user_map.cc:
error handling for hash_init added
server-tools/instance-manager/user_map.h:
added init() for User map (becouse of the hash_init check)
server-tools/instance-manager/buffer.cc:
simplified buffer interface
server-tools/instance-manager/buffer.h:
simplified buffer interface
server-tools/instance-manager/command.cc:
Command class now uses instance_map directly
server-tools/instance-manager/command.h:
Made Command to use instance_map directly (not through the factory,
which is not needed here in fact)
server-tools/instance-manager/commands.cc:
Moved mysql client/server protocol-specific functions to the commands
server-tools/instance-manager/commands.h:
Added a comment for Syntax_error command, fixed classes to use instance
map instead of the factory
server-tools/instance-manager/factory.cc:
Fixed factory to give appropriate class to the commands
server-tools/instance-manager/guardian.cc:
Fixed guardian to delay start of new instances monitoring.
Moved guardian initialization to the class from Instance map.
server-tools/instance-manager/guardian.h:
interface fixed
server-tools/instance-manager/instance.cc:
added some loging
server-tools/instance-manager/instance_map.cc:
All non-instance map specific functions moved from the class. Added
iterator for instance_map
server-tools/instance-manager/instance_map.h:
All non-instance map related functions moved from the class. Added
iterator for instance_map.
server-tools/instance-manager/listener.cc:
Added FD_CLOEXEC flag to sockets, as we don't want instances to inherit
them after exec.
server-tools/instance-manager/manager.cc:
use guardian method moved from the instance map
server-tools/instance-manager/mysql_connection.cc:
cleanup
server-tools/instance-manager/protocol.cc:
fix according to the changes in the Buffer class
tree
server-tools/instance-manager/Makefile.am:
Fixed IM linking to avoid using both mysys and libmysql as the define the
same symbols and therefore conflict
server-tools/instance-manager/listener.cc:
Added ability to listen network ports
server-tools/instance-manager/listener.h:
Various additions to the Listener_thread_args
server-tools/instance-manager/log.cc:
merge
server-tools/instance-manager/log.h:
merge
server-tools/instance-manager/manager.cc:
Fixes and additions to enable guardian functionality
server-tools/instance-manager/manager.h:
Changed manager() signature
server-tools/instance-manager/mysqlmanager.cc:
Various fixes
server-tools/instance-manager/options.cc:
Added handling of default values for new options in the Options struct. (such
as default_user, default_password, monitoring_interval e.t.c)
server-tools/instance-manager/options.h:
Added new options to the Options struct
sql/net_serv.cc:
Added MYSQL_INSTANCE_MANAGER defines to enable alarm handling in the IM
server-tools/instance-manager/buffer.cc:
Simple implementation of variable-length buffer
server-tools/instance-manager/command.cc:
Abstract command. All commands are derived from Command class
server-tools/instance-manager/commands.h:
Interfaces for all commands we have
server-tools/instance-manager/factory.cc:
Commands factory. This class hides command instantiation. The idea is to
handle various protocols this way. (different commands for different
protocols
server-tools/instance-manager/guardian.cc:
Guardian thread implementation (monitor and restart instances in case of a
failure
server-tools/instance-manager/guardian.h:
Guardian_thread and Guardian_thread_args class interface. The
Guardian_thread is responsible for monitoring and restarting instances
server-tools/instance-manager/instance.cc:
Instance class contains methods and data to manage a single instance
server-tools/instance-manager/instance.h:
This file contains class an instance class interface. The class is
responsible for starting/stopping an instance
server-tools/instance-manager/instance_map.cc:
The instance repository. This class is also responsible for initialization
of Instance class objects.
server-tools/instance-manager/instance_options.cc:
The Instance_options class contains all methods to get and handle options
of an instance
server-tools/instance-manager/mysql_connection.cc:
The class responsible for handling MySQL client/server protocol connections
server-tools/instance-manager/mysql_manager_error.h:
The list of Instance Manger-specific errors
server-tools/instance-manager/parse.cc:
Simple query parser
server-tools/instance-manager/parse.h:
Parser interface
server-tools/instance-manager/protocol.cc:
Here implemented functions used to handle mysql client/server protocol
server-tools/instance-manager/protocol.h:
Interface for MySQL client/server protocol
server-tools/instance-manager/thread_registry.cc:
Thread registry stores information about every thread. It's main function is
to provide graceful shutdown for all threads.
server-tools/instance-manager/user_map.h:
User map contains hash with user names and passwords
safe shutdown and signal deliverence to all threads in
the manager process
server-tools/instance-manager/Makefile.am:
added listener.{h,cc} (listener thread)
and thread_repository.{h,cc} -
class to handle threads && signals
server-tools/instance-manager/log.h:
minor fixes
server-tools/instance-manager/manager.cc:
unnecessary error checking was removed
added implementation for signal thread
server-tools/instance-manager/manager.h:
header guards're added
server-tools/instance-manager/mysqlmanager.cc:
unnecessary error checking was removed
server-tools/instance-manager/options.cc:
minor fixes
server-tools/instance-manager/options.h:
removed wrong declaration
logging, options, angel process.
configure.in:
added support for instance-manager directory
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted