diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 179c7ecd9dc..5a306a0923b 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -876,8 +876,9 @@ void end_thread(THD *thd, bool put_in_cache) thread_count--; delete thd; - if (cached_thread_count < thread_cache_size && ! abort_loop && - !kill_cached_threads) + if (put_in_cache && cached_thread_count < thread_cache_size + && ! abort_loop && + !kill_cached_threads ) { /* Don't kill the thread, just put it in cache for reuse */ DBUG_PRINT("info", ("Adding thread to cache")) @@ -891,8 +892,8 @@ void end_thread(THD *thd, bool put_in_cache) { wake_thread--; thd=thread_cache.get(); - threads.append(thd); (void) thd->store_globals(); + threads.append(thd); pthread_mutex_unlock(&LOCK_thread_count); DBUG_VOID_RETURN; }