mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Remove race situations that occur when removing pidfiles. Primarily each process should remove its own pidfile, secondly it should be removed by the process that created it and _only_ if it's certain the process is dead. Third, mysql-test-run.pl will remove the pidfile when process has been killed. - Set state of an instance to STARTING _before_ calling instance->start() - Check that pidfile of instance has been created before changing STARTING => STARTED - Only remove the pidfile if IM kills an instance with SIGKILL, otherwise the instance will remove it itself server-tools/instance-manager/guardian.cc: If state of an instance is STARTING, chech that the instance pidfile has been created before changing state to STARTED Set state to STARTING before calling instance->start(), it can take some time before it is fully started and during that time it should be in state STARTING server-tools/instance-manager/instance.cc: Only remove the pid file of instance manager when a SIGKILL has been performed sucessfully server-tools/instance-manager/instance_options.cc: Check that fscanf returns 1 which is the number of args that should be scanned from the pid file
Instance Manager - manage MySQL instances locally and remotely.
File description:
mysqlmanager.cc - entry point to the manager, main,
options.{h,cc} - handle startup options
manager.{h,cc} - manager process
mysql_connection.{h,cc} - handle one connection with mysql client.
See also instance manager architecture description in mysqlmanager.cc.