diff options
Diffstat (limited to 'server-tools/instance-manager/manager.cc')
-rw-r--r-- | server-tools/instance-manager/manager.cc | 8 |
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. |