Commit 4f46196d authored by dlenev@mockturtle.local's avatar dlenev@mockturtle.local

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into  mockturtle.local:/home/dlenev/src/mysql-5.0-merge
parents eda2d801 e4f88d52
...@@ -1681,6 +1681,12 @@ void end_thread(THD *thd, bool put_in_cache) ...@@ -1681,6 +1681,12 @@ void end_thread(THD *thd, bool put_in_cache)
thd->real_id=pthread_self(); thd->real_id=pthread_self();
thd->thread_stack= (char*) &thd; // For store_globals thd->thread_stack= (char*) &thd; // For store_globals
(void) thd->store_globals(); (void) thd->store_globals();
/*
THD::mysys_var::abort is associated with physical thread rather
than with THD object. So we need to reset this flag before using
this thread for handling of new THD object/connection.
*/
thd->mysys_var->abort= 0;
thd->thr_create_time= time(NULL); thd->thr_create_time= time(NULL);
threads.append(thd); threads.append(thd);
pthread_mutex_unlock(&LOCK_thread_count); pthread_mutex_unlock(&LOCK_thread_count);
......
...@@ -1087,6 +1087,7 @@ sp_head::execute(THD *thd) ...@@ -1087,6 +1087,7 @@ sp_head::execute(THD *thd)
ctx->enter_handler(hip); ctx->enter_handler(hip);
thd->clear_error(); thd->clear_error();
thd->killed= THD::NOT_KILLED; thd->killed= THD::NOT_KILLED;
thd->mysys_var->abort= 0;
continue; continue;
} }
} }
......
...@@ -1604,7 +1604,10 @@ bool dispatch_command(enum enum_server_command command, THD *thd, ...@@ -1604,7 +1604,10 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
DBUG_ENTER("dispatch_command"); DBUG_ENTER("dispatch_command");
if (thd->killed == THD::KILL_QUERY || thd->killed == THD::KILL_BAD_DATA) if (thd->killed == THD::KILL_QUERY || thd->killed == THD::KILL_BAD_DATA)
{
thd->killed= THD::NOT_KILLED; thd->killed= THD::NOT_KILLED;
thd->mysys_var->abort= 0;
}
thd->command=command; thd->command=command;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment