diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 4ed8d61a2be..975014b9780 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -383,8 +383,10 @@ void THD::cleanup(void) my_free((char*) variables.time_format, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*) variables.date_format, MYF(MY_ALLOW_ZERO_PTR)); my_free((char*) variables.datetime_format, MYF(MY_ALLOW_ZERO_PTR)); + sp_cache_clear(&sp_proc_cache); - sp_cache_clear(&sp_func_cache); /*psergey: move to ~THD? */ + sp_cache_clear(&sp_func_cache); + if (global_read_lock) unlock_global_read_lock(this); if (ull) @@ -424,9 +426,6 @@ THD::~THD() ha_close_connection(this); - sp_cache_clear(&sp_proc_cache); - sp_cache_clear(&sp_func_cache); - DBUG_PRINT("info", ("freeing host")); if (host != my_localhost) // If not pointer to constant safeFree(host);