summaryrefslogtreecommitdiff
path: root/server-tools/instance-manager/instance.h
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2005-02-11 14:21:59 +0300
committerunknown <petr@mysql.com>2005-02-11 14:21:59 +0300
commitdce2554f9130920ab18e4e31432df7d6ca165ee0 (patch)
tree5a46c104b5146373b9e754ea5691cfa5ef3d2fcf /server-tools/instance-manager/instance.h
parent79ba407d64ad4387b7b279f80a7bf95e68414df5 (diff)
downloadmariadb-git-dce2554f9130920ab18e4e31432df7d6ca165ee0.tar.gz
Post-review fixes + some bugs fixed + several minor features
BitKeeper/deleted/.del-client_func.c~3476a8a85cbd3c29: Delete: server-tools/instance-manager/client_func.c server-tools/instance-manager/Makefile.am: clien_func removed server-tools/instance-manager/buffer.cc: several methods added server-tools/instance-manager/buffer.h: Some error-handling fixes. server-tools/instance-manager/commands.cc: check for Buffer errors server-tools/instance-manager/guardian.cc: Guardian rewiriten. Not it works in a finite state machine-way. server-tools/instance-manager/guardian.h: Appropriate (to .cc) changes in the header + some comment added server-tools/instance-manager/instance.cc: added proxy thread to monitor instance. Two kinds of stop() now -- stop() and kill_instance which only sends a signal server-tools/instance-manager/instance.h: appropriate changes server-tools/instance-manager/instance_map.cc: cleanup server-tools/instance-manager/instance_map.h: cleanup server-tools/instance-manager/instance_options.cc: Caching of the pid-file-name is added. some comments added server-tools/instance-manager/instance_options.h: cleanup server-tools/instance-manager/listener.cc: listener my_thread_init added (though it doesn't use any mysys functions). Just in case server-tools/instance-manager/manager.cc: SIGCHLD handler removed. now instance monitoring is implemented through proxy threads. This is to work nicely with LinuxThreads server-tools/instance-manager/options.cc: added option to create a password file entry (this was implemented by Sergei Vojtovich) server-tools/instance-manager/parse.cc: inline function get_word moved to the header server-tools/instance-manager/parse.h: get_word moved here to use form parse_output server-tools/instance-manager/parse_output.cc: get_word() clone removed. now looking through the output linewise server-tools/instance-manager/protocol.cc: Buffer error chech added server-tools/instance-manager/user_map.cc: typo fixed
Diffstat (limited to 'server-tools/instance-manager/instance.h')
-rw-r--r--server-tools/instance-manager/instance.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/server-tools/instance-manager/instance.h b/server-tools/instance-manager/instance.h
index 95852542fb4..fbe24e17554 100644
--- a/server-tools/instance-manager/instance.h
+++ b/server-tools/instance-manager/instance.h
@@ -30,14 +30,19 @@ class Instance_map;
class Instance
{
public:
+ Instance();
+
~Instance();
int init(const char *name);
int complete_initialization(Instance_map *instance_map_arg);
- /* check if the instance is running and set up mysql connection if yes */
bool is_running();
int start();
int stop();
+ /* send a signal to the instance */
+ void kill_instance(int signo);
+ int is_crashed();
+ void fork_and_monitor();
public:
enum { DEFAULT_SHUTDOWN_DELAY= 35 };
@@ -49,7 +54,9 @@ private:
double start of the instance. This happens when the instance is starting
and we issue the start command once more.
*/
+ int crashed;
pthread_mutex_t LOCK_instance;
+ pthread_cond_t COND_instance_restarted;
Instance_map *instance_map;
};