mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
merge
BitKeeper/etc/logging_ok: auto-union client/Makefile.am: Auto merged client/mysql.cc: Auto merged myisam/mi_check.c: Auto merged sql/slave.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_show.cc: Auto merged strings/strmake.c: Auto merged mysql-test/t/rpl000017-slave.sh: Auto merged
This commit is contained in:
@ -868,6 +868,7 @@ void kill_delayed_threads(void)
|
||||
delayed_insert *tmp;
|
||||
while ((tmp=it++))
|
||||
{
|
||||
/* Ensure that the thread doesn't kill itself while we are looking at it */
|
||||
pthread_mutex_lock(&tmp->mutex);
|
||||
tmp->thd.killed=1;
|
||||
if (tmp->thd.mysys_var)
|
||||
@ -875,9 +876,15 @@ void kill_delayed_threads(void)
|
||||
pthread_mutex_lock(&tmp->thd.mysys_var->mutex);
|
||||
if (tmp->thd.mysys_var->current_cond)
|
||||
{
|
||||
pthread_mutex_lock(tmp->thd.mysys_var->current_mutex);
|
||||
/*
|
||||
We need the following test because the main mutex may be locked
|
||||
in handle_delayed_insert()
|
||||
*/
|
||||
if (&tmp->mutex != tmp->thd.mysys_var->current_mutex)
|
||||
pthread_mutex_lock(tmp->thd.mysys_var->current_mutex);
|
||||
pthread_cond_broadcast(tmp->thd.mysys_var->current_cond);
|
||||
pthread_mutex_unlock(tmp->thd.mysys_var->current_mutex);
|
||||
if (&tmp->mutex != tmp->thd.mysys_var->current_mutex)
|
||||
pthread_mutex_unlock(tmp->thd.mysys_var->current_mutex);
|
||||
}
|
||||
pthread_mutex_unlock(&tmp->thd.mysys_var->mutex);
|
||||
}
|
||||
|
Reference in New Issue
Block a user