Commit 4d3a78a2 authored by unknown's avatar unknown
Browse files

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

 - Unlock the mutex after looking at rli->events_till_abort
 - Already fixed in 5.1 so it will be null merged.


sql/slave.cc:
  Unlock the mutex after looking at rli->events_till_abort
parent 48fe5a2d
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -3950,11 +3950,20 @@ the slave SQL thread with \"SLAVE START\". We stopped at log \
  pthread_mutex_unlock(&LOCK_thread_count);
  pthread_cond_broadcast(&rli->stop_cond);
  // tell the world we are done
  pthread_mutex_unlock(&rli->run_lock);

#ifndef DBUG_OFF // TODO: reconsider the code below
  if (abort_slave_event_count && !rli->events_till_abort)
  {
    /*
      Bug #19938 Valgrind error (race) in handle_slave_sql()
      Read the value of rli->event_till_abort before releasing the mutex
    */
    pthread_mutex_unlock(&rli->run_lock);
    goto slave_begin;
  }
#endif
  pthread_mutex_unlock(&rli->run_lock);

  my_thread_end();
  pthread_exit(0);
  DBUG_RETURN(0);				// Can't return anything here