summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <rburnett@build.mysql.com>2004-08-23 18:55:12 +0200
committerunknown <rburnett@build.mysql.com>2004-08-23 18:55:12 +0200
commite0a12e898c1645b450c69503d481ab1f92d1e012 (patch)
treec5bf711b1c67e73106654dc6c6d3205446f52a49 /sql
parent2eb954a27a6aa6bf0f4e9c480dc8a633649595f1 (diff)
downloadmariadb-git-e0a12e898c1645b450c69503d481ab1f92d1e012.tar.gz
Bug #4629 Crash after SLAVE STOP, if the IO thread is in special state.
client.c: Removed call to clear_slave_vio in end_server(). Removed header declaration of clear_slave_vio slave.cc: Removed clear_slave_vio function and added calls to thd->clear_active_vio before each call to end_server() sql/slave.cc: Removed clear_slave_vio function and added calls to thd->clear_active_vio before each call to end_server() sql-common/client.c: Removed call to clear_slave_vio in end_server(). Removed header declaration of clear_slave_vio
Diffstat (limited to 'sql')
-rw-r--r--sql/slave.cc27
1 files changed, 6 insertions, 21 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index 51421533a5b..cb37a798037 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -3056,6 +3056,9 @@ dump");
}
thd->proc_info= "Waiting to reconnect after a failed binlog dump request";
+#ifdef SIGNAL_WITH_VIO_CLOSE
+ thd->clear_active_vio();
+#endif
end_server(mysql);
/*
First time retry immediately, assuming that we can recover
@@ -3129,6 +3132,9 @@ max_allowed_packet",
goto err;
}
thd->proc_info = "Waiting to reconnect after a failed master event read";
+#ifdef SIGNAL_WITH_VIO_CLOSE
+ thd->clear_active_vio();
+#endif
end_server(mysql);
if (retry_count++)
{
@@ -4384,25 +4390,4 @@ template class I_List_iterator<i_string_pair>;
#endif
-#ifdef __WIN__
-extern "C" void clear_slave_vio( MYSQL* mysql )
-{
- if (active_mi->mysql == mysql)
- active_mi->io_thd->clear_active_vio();
- /* TODO: use code like below when multi-master is in place */
- /* LIST *cur = &master_list;
- if (((MASTER_INFO*)cur->data)->mysql == mysql)
- {
- MASTER_INFO *mi = (MASTER_INFO*)cur->data;
- mi->io_thd->clear_active_vio();
- return;
- }
- else
- cur = cur->next;*/
-}
-#endif
-
-
-
-
#endif /* HAVE_REPLICATION */