summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorunknown <SergeyV@selena.>2005-10-17 19:09:12 +0400
committerunknown <SergeyV@selena.>2005-10-17 19:09:12 +0400
commitb63b06dcbb4661168f7d419b8caba480049a669a (patch)
treef30e4dc4a2124bd19a5da2450d4fd1a16200ccf8 /sql/slave.cc
parentad45b9a1d53d2e8d7a1f32376b0d1a55e0191607 (diff)
parentb1338c2152edf50dd8f279dece981d0f9cbdd17e (diff)
downloadmariadb-git-b63b06dcbb4661168f7d419b8caba480049a669a.tar.gz
Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-5.0
into selena.:H:/MYSQL/src/#13377-mysql-5.0 mysql-test/include/check_var_limit.inc: Auto merged mysql-test/include/have_big5.inc: Auto merged mysql-test/include/have_compress.inc: Auto merged mysql-test/include/have_crypt.inc: Auto merged mysql-test/include/have_outfile.inc: Auto merged mysql-test/include/have_query_cache.inc: Auto merged mysql-test/include/have_tis620.inc: Auto merged mysql-test/include/have_ucs2.inc: Auto merged mysql-test/include/have_ujis.inc: Auto merged mysql-test/include/not_embedded.inc: Auto merged mysql-test/include/system_db_struct.inc: Auto merged mysql-test/include/test_outfile.inc: Auto merged mysql-test/r/greedy_optimizer.result: Auto merged mysql-test/r/index_merge.result: Auto merged mysql-test/r/index_merge_bdb.result: Auto merged mysql-test/r/index_merge_innodb.result: Auto merged mysql-test/r/index_merge_innodb2.result: Auto merged mysql-test/r/index_merge_ror.result: Auto merged mysql-test/r/index_merge_ror_cpk.result: Auto merged mysql-test/r/join_nested.result: Auto merged mysql-test/r/rowid_order_bdb.result: Auto merged mysql-test/r/rowid_order_innodb.result: Auto merged mysql-test/r/rpl_session_var.result: Auto merged mysql-test/r/sp-error.result: Auto merged mysql-test/r/sp-security.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/sum_distinct.result: Auto merged mysql-test/std_data/des_key_file: Auto merged mysql-test/std_data/init_file.dat: Auto merged mysql-test/std_data/loaddata1.dat: Auto merged mysql-test/std_data/loaddata2.dat: Auto merged mysql-test/std_data/loaddata3.dat: Auto merged mysql-test/std_data/loaddata4.dat: Auto merged mysql-test/std_data/rpl_loaddata.dat: Auto merged mysql-test/std_data/rpl_loaddata2.dat: Auto merged mysql-test/std_data/warnings_loaddata.dat: Auto merged mysql-test/t/greedy_optimizer.test: Auto merged mysql-test/t/index_merge.test: Auto merged mysql-test/t/index_merge_bdb.test: Auto merged mysql-test/t/index_merge_innodb.test: Auto merged mysql-test/t/index_merge_innodb2.test: Auto merged mysql-test/t/index_merge_ror.test: Auto merged mysql-test/t/index_merge_ror_cpk.test: Auto merged mysql-test/t/join_nested.test: Auto merged mysql-test/t/rowid_order_bdb.test: Auto merged mysql-test/t/rowid_order_innodb.test: Auto merged mysql-test/t/rpl_session_var.test: Auto merged mysql-test/t/sp-error.test: Auto merged mysql-test/t/sp-security.test: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/sum_distinct.test: Auto merged sql/log.cc: Auto merged sql/slave.cc: Auto merged sql/sql_class.h: Auto merged
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index 3e3a02a7c21..603ba8a8155 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -3692,6 +3692,15 @@ err:
pthread_mutex_lock(&mi->run_lock);
mi->slave_running = 0;
mi->io_thd = 0;
+
+ /* Close log file and free buffers */
+ if (mi->rli.cur_log_fd >= 0)
+ {
+ end_io_cache(&mi->rli.cache_buf);
+ my_close(mi->rli.cur_log_fd, MYF(MY_WME));
+ mi->rli.cur_log_fd= -1;
+ }
+
/* Forget the relay log's format */
delete mi->rli.relay_log.description_event_for_queue;
mi->rli.relay_log.description_event_for_queue= 0;
@@ -3908,6 +3917,14 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
rli->cached_charset_invalidate();
rli->save_temporary_tables = thd->temporary_tables;
+ /* Close log file and free buffers if it's already open */
+ if (rli->cur_log_fd >= 0)
+ {
+ end_io_cache(&rli->cache_buf);
+ my_close(rli->cur_log_fd, MYF(MY_WME));
+ rli->cur_log_fd = -1;
+ }
+
/*
TODO: see if we can do this conditionally in next_event() instead
to avoid unneeded position re-init