diff options
author | unknown <rburnett@build.mysql.com> | 2004-08-23 18:55:12 +0200 |
---|---|---|
committer | unknown <rburnett@build.mysql.com> | 2004-08-23 18:55:12 +0200 |
commit | e0a12e898c1645b450c69503d481ab1f92d1e012 (patch) | |
tree | c5bf711b1c67e73106654dc6c6d3205446f52a49 /sql | |
parent | 2eb954a27a6aa6bf0f4e9c480dc8a633649595f1 (diff) | |
download | mariadb-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.cc | 27 |
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 */ |