Commit 6c0dcad8 authored by mkindahl@dl145h.mysql.com's avatar mkindahl@dl145h.mysql.com

Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl

into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl
parents 9baeb72e 6a4c4b18
...@@ -415,7 +415,20 @@ terminate_slave_thread(THD *thd, ...@@ -415,7 +415,20 @@ terminate_slave_thread(THD *thd,
while (*slave_running) // Should always be true while (*slave_running) // Should always be true
{ {
DBUG_PRINT("loop", ("killing slave thread")); DBUG_PRINT("loop", ("killing slave thread"));
KICK_SLAVE(thd);
pthread_mutex_lock(&thd->LOCK_delete);
#ifndef DONT_USE_THR_ALARM
/*
Error codes from pthread_kill are:
EINVAL: invalid signal number (can't happen)
ESRCH: thread already killed (can happen, should be ignored)
*/
IF_DBUG(int err= ) pthread_kill(thd->real_id, thr_client_alarm);
DBUG_ASSERT(err != EINVAL);
#endif
thd->awake(THD::NOT_KILLED);
pthread_mutex_unlock(&thd->LOCK_delete);
/* /*
There is a small chance that slave thread might miss the first There is a small chance that slave thread might miss the first
alarm. To protect againts it, resend the signal until it reacts alarm. To protect againts it, resend the signal until it reacts
......
...@@ -36,12 +36,6 @@ extern bool server_id_supplied; ...@@ -36,12 +36,6 @@ extern bool server_id_supplied;
extern int max_binlog_dump_events; extern int max_binlog_dump_events;
extern my_bool opt_sporadic_binlog_dump_fail; extern my_bool opt_sporadic_binlog_dump_fail;
#define KICK_SLAVE(thd) do { \
pthread_mutex_lock(&(thd)->LOCK_delete); \
(thd)->awake(THD::NOT_KILLED); \
pthread_mutex_unlock(&(thd)->LOCK_delete); \
} while(0)
int start_slave(THD* thd, Master_info* mi, bool net_report); int start_slave(THD* thd, Master_info* mi, bool net_report);
int stop_slave(THD* thd, Master_info* mi, bool net_report); int stop_slave(THD* thd, Master_info* mi, bool net_report);
bool change_master(THD* thd, Master_info* mi); bool change_master(THD* thd, Master_info* mi);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment