summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2011-12-27 16:10:34 +0100
committerVladislav Vaintroub <wlad@montyprogram.com>2011-12-27 16:10:34 +0100
commit27ef2fda985a1cb55166d77d3d973704ba57e30f (patch)
tree75dadb418c402adc45e7e9170937683058d9f535
parentc01fc2abc7820ec372c2f678474912196f49d983 (diff)
downloadmariadb-git-27ef2fda985a1cb55166d77d3d973704ba57e30f.tar.gz
fix test suite
-rw-r--r--mysql-test/r/kill.result4
-rw-r--r--mysql-test/t/flush_read_lock_kill.test2
-rw-r--r--mysql-test/t/kill.test5
-rw-r--r--sql/threadpool_common.cc4
4 files changed, 9 insertions, 6 deletions
diff --git a/mysql-test/r/kill.result b/mysql-test/r/kill.result
index e91db0c9036..0cc8caf8f42 100644
--- a/mysql-test/r/kill.result
+++ b/mysql-test/r/kill.result
@@ -60,9 +60,7 @@ SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
KILL @id;
SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
Got one of the listed errors
-SELECT 1;
-1
-1
+Got one of the listed errors
SET DEBUG_SYNC = 'RESET';
DROP TABLE t1, t2;
SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
diff --git a/mysql-test/t/flush_read_lock_kill.test b/mysql-test/t/flush_read_lock_kill.test
index a672fa5dfc5..e0a772d9fbb 100644
--- a/mysql-test/t/flush_read_lock_kill.test
+++ b/mysql-test/t/flush_read_lock_kill.test
@@ -65,7 +65,7 @@ KILL CONNECTION @id;
connection con1;
--echo # Try to reap FLUSH TABLES WITH READ LOCK,
--echo # it fail due to killed statement and connection.
---error 1317,2013
+--error 1317,2013,1927
reap;
--echo # Switching to 'con2'.
diff --git a/mysql-test/t/kill.test b/mysql-test/t/kill.test
index 7c6c37ecfc6..d0a82ae3749 100644
--- a/mysql-test/t/kill.test
+++ b/mysql-test/t/kill.test
@@ -142,9 +142,12 @@ KILL @id;
SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
connection con1;
---error 1317,1053,2006,2013
+--error 1317,1053,2006,2013,1927
reap;
+--disable_query_log
+--error 2013,0
SELECT 1;
+--enable_query_log
connection default;
SET DEBUG_SYNC = 'RESET';
diff --git a/sql/threadpool_common.cc b/sql/threadpool_common.cc
index 229c913ab44..b6676576fb3 100644
--- a/sql/threadpool_common.cc
+++ b/sql/threadpool_common.cc
@@ -71,7 +71,9 @@ static inline bool thread_attach(THD* thd, char *stack_start, PSI_thread **save_
static inline void thread_detach(THD* thd, PSI_thread *restore_psi_thread)
{
DBUG_ENTER("thread_detach");
+ mysql_mutex_lock(&thd->LOCK_thd_data);
thd->mysys_var = NULL;
+ mysql_mutex_unlock(&thd->LOCK_thd_data);
#ifndef DBUG_OFF
/*
If during the session @@session.dbug was assigned, the
@@ -161,7 +163,7 @@ int threadpool_process_request(THD *thd)
PSI_thread *psi_thread;
thread_attach(thd, (char *)&thd, &psi_thread);
- if (thd->killed == KILL_CONNECTION)
+ if (thd->killed >= KILL_CONNECTION)
{
/*
kill flag can be set have been killed by