diff options
author | unknown <petr@mysql.com> | 2005-02-11 14:21:59 +0300 |
---|---|---|
committer | unknown <petr@mysql.com> | 2005-02-11 14:21:59 +0300 |
commit | dce2554f9130920ab18e4e31432df7d6ca165ee0 (patch) | |
tree | 5a46c104b5146373b9e754ea5691cfa5ef3d2fcf /server-tools/instance-manager/buffer.h | |
parent | 79ba407d64ad4387b7b279f80a7bf95e68414df5 (diff) | |
download | mariadb-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/buffer.h')
-rw-r--r-- | server-tools/instance-manager/buffer.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/server-tools/instance-manager/buffer.h b/server-tools/instance-manager/buffer.h index 66860bd67b5..260a9ef92f8 100644 --- a/server-tools/instance-manager/buffer.h +++ b/server-tools/instance-manager/buffer.h @@ -36,11 +36,17 @@ private: /* maximum buffer size is 16Mb */ enum { MAX_BUFFER_SIZE= 16777216 }; size_t buffer_size; + /* Error flag. Triggered if we get an error of some kind */ + int error; public: - Buffer() + Buffer(size_t buffer_size_arg= BUFFER_INITIAL_SIZE) + :buffer_size(BUFFER_INITIAL_SIZE), error(0) { - buffer=(char *) malloc(BUFFER_INITIAL_SIZE); - buffer_size= BUFFER_INITIAL_SIZE; + /* + As append() will invokes realloc() anyway, it's ok if malloc returns 0 + */ + if (!(buffer= (char*) malloc(buffer_size))) + buffer_size= 0; } ~Buffer() @@ -50,6 +56,8 @@ public: public: char *buffer; + int get_size(); + int is_error(); int append(uint position, const char *string, uint len_arg); int reserve(uint position, uint len_arg); }; |