summaryrefslogtreecommitdiff
path: root/sql/rpl_parallel.h
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2013-07-04 09:20:56 +0200
committerunknown <knielsen@knielsen-hq.org>2013-07-04 09:20:56 +0200
commita1cfd473469171e5a9700dbff0ee0e1eb84d6312 (patch)
tree026dad4ef4a445e81bb046d1c8c1e8c73fa1e0d6 /sql/rpl_parallel.h
parent592e464a021747d7ac5b13222f5de1cd4250531c (diff)
downloadmariadb-git-a1cfd473469171e5a9700dbff0ee0e1eb84d6312.tar.gz
MDEV-4506: Parallel replication: Intermediate commit.
Wait for all worker threads to finish when stopping the SQL thread. (Only a basic wait; this still needs to be fixed to include timeout logic as in sql_slave_killed()).
Diffstat (limited to 'sql/rpl_parallel.h')
-rw-r--r--sql/rpl_parallel.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/rpl_parallel.h b/sql/rpl_parallel.h
index b0367efdea6..09bde20f5af 100644
--- a/sql/rpl_parallel.h
+++ b/sql/rpl_parallel.h
@@ -50,6 +50,7 @@ struct rpl_parallel_entry {
uint64 last_seq_no;
uint64 last_commit_id;
bool active;
+ bool need_signal;
rpl_parallel_thread *rpl_thread;
/*
The sub_id of the last transaction to commit within this domain_id.
@@ -57,6 +58,7 @@ struct rpl_parallel_entry {
*/
uint64 last_committed_sub_id;
mysql_mutex_t LOCK_parallel_entry;
+ mysql_cond_t COND_parallel_entry;
uint64 current_sub_id;
struct rpl_group_info *current_group_info;
};
@@ -67,6 +69,7 @@ struct rpl_parallel {
rpl_parallel();
~rpl_parallel();
rpl_parallel_entry *find(uint32 domain_id);
+ void wait_for_done();
bool do_event(struct rpl_group_info *serial_rgi, Log_event *ev, THD *thd);
};