summaryrefslogtreecommitdiff
path: root/server-tools/instance-manager/manager.cc
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2005-02-27 18:41:34 +0300
committerunknown <petr@mysql.com>2005-02-27 18:41:34 +0300
commitdc9059e008c172d53e157b9386d12893dc308dfa (patch)
tree982685490bba283c69256c4a5183eda88216d20f /server-tools/instance-manager/manager.cc
parent4ce6711a14667d4b6cdef18b1424944adce45ad8 (diff)
downloadmariadb-git-dc9059e008c172d53e157b9386d12893dc308dfa.tar.gz
post-review fixes + cleanup + some minor fixes
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
Diffstat (limited to 'server-tools/instance-manager/manager.cc')
-rw-r--r--server-tools/instance-manager/manager.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/server-tools/instance-manager/manager.cc b/server-tools/instance-manager/manager.cc
index 89d49ba9219..8629c5e9d9c 100644
--- a/server-tools/instance-manager/manager.cc
+++ b/server-tools/instance-manager/manager.cc
@@ -16,6 +16,7 @@
#include "manager.h"
+#include "priv.h"
#include "thread_registry.h"
#include "listener.h"
#include "instance_map.h"
@@ -75,11 +76,13 @@ void manager(const Options &options)
Listener_thread_args listener_args(thread_registry, options, user_map,
instance_map);
+ manager_pid= getpid();
instance_map.guardian= &guardian_thread;
if (instance_map.init() || user_map.init())
return;
+
if (instance_map.load())
{
log_error("Cannot init instances repository. This might be caused by "
@@ -170,7 +173,12 @@ void manager(const Options &options)
*/
init_thr_alarm(10);
/* init list of guarded instances */
+ guardian_thread.lock();
+
guardian_thread.init();
+
+ guardian_thread.unlock();
+
/*
After the list of guarded instances have been initialized,
Guardian should start them.