1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-22696 Threadpool : make sure thd->event_scheduler.data does not change as long as THD is in server_threads.

This commit is contained in:
Vladislav Vaintroub
2020-05-24 17:13:12 +02:00
parent 17437eb259
commit 9aa6042a0d

View File

@ -211,12 +211,11 @@ void tp_callback(TP_connection *c)
error:
c->thd= 0;
delete c;
if (thd)
{
threadpool_remove_connection(thd);
}
delete c;
worker_context.restore();
}
@ -243,9 +242,11 @@ static THD* threadpool_add_connection(CONNECT *connect, void *scheduler_data)
return NULL;
}
delete connect;
thd->event_scheduler.data = scheduler_data;
server_threads.insert(thd);
thd->set_mysys_var(mysys_var);
thd->event_scheduler.data= scheduler_data;
/* Login. */
thread_attach(thd);
@ -280,7 +281,6 @@ end:
static void threadpool_remove_connection(THD *thd)
{
thread_attach(thd);
thd->event_scheduler.data= 0;
thd->net.reading_or_writing = 0;
end_connection(thd);
close_connection(thd, 0);