Commit c21aeb86 authored by unknown's avatar unknown

Bug #19938 Valgrind error (race) in handle_slave_sql()


sql/slave.cc:
  Read rli->events_till_abort to a temporary variable before unlocking the mutex
parent a686c015
...@@ -3949,10 +3949,17 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \ ...@@ -3949,10 +3949,17 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
delete thd; delete thd;
pthread_mutex_unlock(&LOCK_thread_count); pthread_mutex_unlock(&LOCK_thread_count);
pthread_cond_broadcast(&rli->stop_cond); pthread_cond_broadcast(&rli->stop_cond);
/*
Bug #19938 Valgrind error (race) in handle_slave_sql()
Read the value of rli->event_till_abort before releasing the mutex
*/
const int eta= rli->events_till_abort;
// tell the world we are done // tell the world we are done
pthread_mutex_unlock(&rli->run_lock); pthread_mutex_unlock(&rli->run_lock);
#ifndef DBUG_OFF // TODO: reconsider the code below #ifndef DBUG_OFF // TODO: reconsider the code below
if (abort_slave_event_count && !rli->events_till_abort) if (abort_slave_event_count && !eta)
goto slave_begin; goto slave_begin;
#endif #endif
my_thread_end(); my_thread_end();
......
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