Loading sql/sql_repl.cc +4 −7 Original line number Diff line number Diff line Loading @@ -602,16 +602,13 @@ int stop_slave(THD* thd, bool net_report ) if (slave_running) { abort_slave = 1; thr_alarm_kill(slave_real_id); #ifdef SIGNAL_WITH_VIO_CLOSE slave_thd->close_active_vio(); #endif KICK_SLAVE; // do not abort the slave in the middle of a query, so we do not set // thd->killed for the slave thread thd->proc_info = "waiting for slave to die"; while(slave_running) { /* there is a small change 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 */ Loading @@ -630,7 +627,7 @@ int stop_slave(THD* thd, bool net_report ) #endif pthread_cond_timedwait(&COND_slave_stopped, &LOCK_slave, &abstime); if (slave_running) thr_alarm_kill(slave_real_id); KICK_SLAVE; } } else Loading Loading @@ -716,7 +713,7 @@ int change_master(THD* thd) if((slave_was_running = slave_running)) { abort_slave = 1; thr_alarm_kill(slave_real_id); KICK_SLAVE; thd->proc_info = "waiting for slave to die"; while(slave_running) pthread_cond_wait(&COND_slave_stopped, &LOCK_slave); // wait until done Loading sql/sql_repl.h +7 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,13 @@ extern int max_binlog_dump_events; extern bool opt_sporadic_binlog_dump_fail; #endif #ifdef SIGNAL_WITH_VIO_CLOSE #define KICK_SLAVE { slave_thd->close_active_vio(); \ thr_alarm_kill(slave_real_id); } #else #define KICK_SLAVE thr_alarm_kill(slave_real_id); #endif File open_binlog(IO_CACHE *log, const char *log_file_name, const char **errmsg); Loading Loading
sql/sql_repl.cc +4 −7 Original line number Diff line number Diff line Loading @@ -602,16 +602,13 @@ int stop_slave(THD* thd, bool net_report ) if (slave_running) { abort_slave = 1; thr_alarm_kill(slave_real_id); #ifdef SIGNAL_WITH_VIO_CLOSE slave_thd->close_active_vio(); #endif KICK_SLAVE; // do not abort the slave in the middle of a query, so we do not set // thd->killed for the slave thread thd->proc_info = "waiting for slave to die"; while(slave_running) { /* there is a small change 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 */ Loading @@ -630,7 +627,7 @@ int stop_slave(THD* thd, bool net_report ) #endif pthread_cond_timedwait(&COND_slave_stopped, &LOCK_slave, &abstime); if (slave_running) thr_alarm_kill(slave_real_id); KICK_SLAVE; } } else Loading Loading @@ -716,7 +713,7 @@ int change_master(THD* thd) if((slave_was_running = slave_running)) { abort_slave = 1; thr_alarm_kill(slave_real_id); KICK_SLAVE; thd->proc_info = "waiting for slave to die"; while(slave_running) pthread_cond_wait(&COND_slave_stopped, &LOCK_slave); // wait until done Loading
sql/sql_repl.h +7 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,13 @@ extern int max_binlog_dump_events; extern bool opt_sporadic_binlog_dump_fail; #endif #ifdef SIGNAL_WITH_VIO_CLOSE #define KICK_SLAVE { slave_thd->close_active_vio(); \ thr_alarm_kill(slave_real_id); } #else #define KICK_SLAVE thr_alarm_kill(slave_real_id); #endif File open_binlog(IO_CACHE *log, const char *log_file_name, const char **errmsg); Loading