diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2019-05-19 01:04:22 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2019-05-21 17:55:09 +0400 |
commit | 6900aaf417c6540a22ab74c6badaf42cd37e43e1 (patch) | |
tree | bea97b94460d55d507180c42535cc658b6d7400a /sql/sql_connect.cc | |
parent | 8d9d4aa6d6db96d09006ea268cf9c29f46c9f132 (diff) | |
download | mariadb-git-6900aaf417c6540a22ab74c6badaf42cd37e43e1.tar.gz |
Simplified away init_new_connection_thread()
It was meaningful only for one-thread-per-connection scheduler anyway,
so call init_new_connection_handler_thread() directly from
handle_one_connection().
It was somewhat harmful for no-threads scheduler, because it'd attempt to
detach main thread on AIX_3_2 and Siemens unix (and DEC OSF/1 3.2 too).
Also it does duplicate my_thread_init() call, which may produce a warning
under EXTRA_DEBUG_THREADS.
start_wsrep_THD() shouldn't have called it at all: it already detached
and called my_thread_init().
Part of MDEV-19515 - Improve connect speed
Diffstat (limited to 'sql/sql_connect.cc')
-rw-r--r-- | sql/sql_connect.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/sql_connect.cc b/sql/sql_connect.cc index 25a260b2eba..3646aee0f03 100644 --- a/sql/sql_connect.cc +++ b/sql/sql_connect.cc @@ -1303,6 +1303,14 @@ pthread_handler_t handle_one_connection(void *arg) mysql_thread_set_psi_id(connect->thread_id); + if (init_new_connection_handler_thread()) + { + scheduler_functions *scheduler= connect->scheduler; + connect->close_with_error(0, 0, ER_OUT_OF_RESOURCES); + scheduler->end_thread(0, 0); + return 0; + } + do_handle_one_connection(connect); return 0; } @@ -1340,8 +1348,7 @@ void do_handle_one_connection(CONNECT *connect) { ulonglong thr_create_utime= microsecond_interval_timer(); THD *thd; - if (connect->scheduler->init_new_connection_thread() || - !(thd= connect->create_thd(NULL))) + if (!(thd= connect->create_thd(NULL))) { scheduler_functions *scheduler= connect->scheduler; connect->close_with_error(0, 0, ER_OUT_OF_RESOURCES); |