Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl sql/slave.cc: Auto merged sql/sql_repl.h: Auto merged
This commit is contained in:
commit
92a09cf98b
15
sql/slave.cc
15
sql/slave.cc
@ -415,7 +415,20 @@ terminate_slave_thread(THD *thd,
|
||||
while (*slave_running) // Should always be true
|
||||
{
|
||||
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
|
||||
alarm. To protect againts it, resend the signal until it reacts
|
||||
|
@ -36,12 +36,6 @@ extern bool server_id_supplied;
|
||||
extern int max_binlog_dump_events;
|
||||
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 stop_slave(THD* thd, Master_info* mi, bool net_report);
|
||||
bool change_master(THD* thd, Master_info* mi);
|
||||
|
Loading…
x
Reference in New Issue
Block a user