summaryrefslogtreecommitdiff
path: root/sql/slave.h
diff options
context:
space:
mode:
authorunknown <sasha@mysql.sashanet.com>2002-04-01 21:46:23 -0700
committerunknown <sasha@mysql.sashanet.com>2002-04-01 21:46:23 -0700
commitd7cfbff5b0a53ba22bb731dec70c4886d2ff9570 (patch)
tree0156e4a56e551202f8c7a8237544114db4a8d1bc /sql/slave.h
parent869e671f98b1a056595e259283bf4e5e40256a20 (diff)
downloadmariadb-git-d7cfbff5b0a53ba22bb731dec70c4886d2ff9570.tar.gz
relay_log_space_limit
DBUG_ macro cleanup buffer boundary cleanup This changeset, although not fully tested, works for me better than anything I've had so far, including what is in the repository. I will push it unless something crashes while I am writing this :-) mysql-test/r/rpl000014.result: updated result mysql-test/r/rpl000015.result: updated result mysql-test/r/rpl000016.result: updated result mysql-test/r/rpl_log.result: new result mysys/mf_iocache.c: DBUG_ cleanup mysys/mf_iocache2.c: DBUG_ fix sql/log.cc: added relay_log_space_limit sql/mysqld.cc: relay_log_space_limit sql/slave.cc: relay_log_space_limit sql/slave.h: relay_log_space_limit sql/sql_class.h: relay_log_space_limit sql/sql_repl.cc: fixed buffer overrun bug
Diffstat (limited to 'sql/slave.h')
-rw-r--r--sql/slave.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/slave.h b/sql/slave.h
index 7ae5da1a340..354fc46e99d 100644
--- a/sql/slave.h
+++ b/sql/slave.h
@@ -31,6 +31,7 @@ extern char* slave_load_tmpdir;
extern my_string master_info_file,relay_log_info_file;
extern my_string opt_relay_logname, opt_relaylog_index_name;
extern bool opt_skip_slave_start;
+extern ulong relay_log_space_limit;
struct st_master_info;
/*
@@ -153,6 +154,9 @@ typedef struct st_relay_log_info
bool log_pos_current;
bool abort_pos_wait;
bool skip_log_purge;
+ ulonglong log_space_limit,log_space_total;
+ pthread_mutex_t log_space_lock;
+ pthread_cond_t log_space_cond;
st_relay_log_info():info_fd(-1),cur_log_fd(-1),inited(0),
cur_log_init_count(0),
@@ -163,17 +167,21 @@ typedef struct st_relay_log_info
bzero(&info_file,sizeof(info_file));
pthread_mutex_init(&run_lock, MY_MUTEX_INIT_FAST);
pthread_mutex_init(&data_lock, MY_MUTEX_INIT_FAST);
+ pthread_mutex_init(&log_space_lock, MY_MUTEX_INIT_FAST);
pthread_cond_init(&data_cond, NULL);
pthread_cond_init(&start_cond, NULL);
pthread_cond_init(&stop_cond, NULL);
+ pthread_cond_init(&log_space_cond, NULL);
}
~st_relay_log_info()
{
pthread_mutex_destroy(&run_lock);
pthread_mutex_destroy(&data_lock);
+ pthread_mutex_destroy(&log_space_lock);
pthread_cond_destroy(&data_cond);
pthread_cond_destroy(&start_cond);
pthread_cond_destroy(&stop_cond);
+ pthread_cond_destroy(&log_space_cond);
}
inline void inc_pending(ulonglong val)
{