1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

Fix for BUG#28030: test im_instance_conf fails with an assert.

The problem was a race condition on shutdown -- when IM got shutdown
request while a guarded mysqld is starting. In this case the Guardian
thread tried to stop the mysqld, but might fail if the mysqld hadn't
created pid-file so far. When this happened, the mysqld-monitor thread
didn't stop, so the assert in Thread_registry happened.

The fix is to make several attempts to stop mysqld if it is active.


server-tools/instance-manager/guardian.cc:
  Try to stop mysqld several times if it is still active.
server-tools/instance-manager/instance.cc:
  Make Instance::kill_mysqld() to return operation status.
server-tools/instance-manager/instance.h:
  Make Instance::kill_mysqld() to return operation status.
server-tools/instance-manager/thread_registry.cc:
  Log unregistered thread ids.
This commit is contained in:
unknown
2007-07-27 17:39:01 +04:00
parent 1336b0eb13
commit 339ea316b9
4 changed files with 42 additions and 7 deletions

View File

@@ -104,7 +104,7 @@ public:
bool start_mysqld();
bool stop_mysqld();
void kill_mysqld(int signo);
bool kill_mysqld(int signo);
void lock();
void unlock();