summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorjimw@mysql.com <>2005-08-08 18:05:27 -0700
committerjimw@mysql.com <>2005-08-08 18:05:27 -0700
commitd6a8330e393a4668050150f2db3d80c6dcd448d0 (patch)
tree19a939ef1572e8f0e78d8fcaa154c81746a7d7b0 /sql/mysqld.cc
parentac6623f08fe059e4ee49c4f3eaa73198b8ca9d82 (diff)
downloadmariadb-git-d6a8330e393a4668050150f2db3d80c6dcd448d0.tar.gz
Avoid problems on shutdown by shutting down replication slave threads
after normal connection threads. (Bug #11796)
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 896114f98c6..394dd3294de 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -648,7 +648,6 @@ static void close_connections(void)
}
#endif
end_thr_alarm(0); // Abort old alarms.
- end_slave();
/*
First signal all threads that it's time to die
@@ -664,6 +663,9 @@ static void close_connections(void)
{
DBUG_PRINT("quit",("Informing thread %ld that it's time to die",
tmp->thread_id));
+ /* We skip slave threads on this first loop through. */
+ if (tmp->slave_thread) continue;
+
tmp->killed= 1;
if (tmp->mysys_var)
{
@@ -680,6 +682,8 @@ static void close_connections(void)
}
(void) pthread_mutex_unlock(&LOCK_thread_count); // For unlink from list
+ end_slave();
+
if (thread_count)
sleep(2); // Give threads time to die