summaryrefslogtreecommitdiff
path: root/server-tools/instance-manager/guardian.h
diff options
context:
space:
mode:
Diffstat (limited to 'server-tools/instance-manager/guardian.h')
-rw-r--r--server-tools/instance-manager/guardian.h110
1 files changed, 0 insertions, 110 deletions
diff --git a/server-tools/instance-manager/guardian.h b/server-tools/instance-manager/guardian.h
deleted file mode 100644
index d78058a6fc5..00000000000
--- a/server-tools/instance-manager/guardian.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef INCLUDES_MYSQL_INSTANCE_MANAGER_GUARDIAN_H
-#define INCLUDES_MYSQL_INSTANCE_MANAGER_GUARDIAN_H
-/* Copyright (C) 2004 MySQL AB
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 of the License.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-
-#include <my_global.h>
-#include <my_sys.h>
-#include <my_list.h>
-
-#include "thread_registry.h"
-
-#if defined(__GNUC__) && defined(USE_PRAGMA_INTERFACE)
-#pragma interface
-#endif
-
-class Instance;
-class Instance_map;
-class Thread_registry;
-
-/**
- The guardian thread is responsible for monitoring and restarting of guarded
- instances.
-*/
-
-class Guardian: public Thread
-{
-public:
- Guardian(Thread_registry *thread_registry_arg,
- Instance_map *instance_map_arg);
- ~Guardian();
-
- void init();
-
-public:
- void request_shutdown();
-
- bool is_stopped();
-
- void lock();
- void unlock();
-
- void ping();
-
-protected:
- virtual void run();
-
-private:
- void stop_instances();
-
- void process_instance(Instance *instance);
-
-private:
- /*
- LOCK_guardian protectes the members in this section:
- - shutdown_requested;
- - stopped;
-
- Also, it is used for COND_guardian.
- */
- pthread_mutex_t LOCK_guardian;
-
- /*
- Guardian's main loop waits on this condition. So, it should be signalled
- each time, when instance state has been changed and we want Guardian to
- wake up.
-
- TODO: Change this to having data-scoped conditions, i.e. conditions,
- which indicate that some data has been changed.
- */
- pthread_cond_t COND_guardian;
-
- /*
- This variable is set to TRUE, when Manager thread is shutting down.
- The flag is used by Guardian thread to understand that it's time to
- finish.
- */
- bool shutdown_requested;
-
- /*
- This flag is set to TRUE on shutdown by Guardian thread, when all guarded
- mysqlds are stopped.
-
- The flag is used in the Manager thread to wait for Guardian to stop all
- mysqlds.
- */
- bool stopped;
-
- Thread_info thread_info;
- Thread_registry *thread_registry;
- Instance_map *instance_map;
-
-private:
- Guardian(const Guardian &);
- Guardian&operator =(const Guardian &);
-};
-
-#endif /* INCLUDES_MYSQL_INSTANCE_MANAGER_GUARDIAN_H */