Commit 06f8e3f9 authored by Staale Smedseng's avatar Staale Smedseng

Bug#51591 deadlock in the plugins+status+variables

Unlocking/locking of LOCK_plugin in ha_ndbcluster.cc not 
needed anymore (but missing from the initial patch).
parent f3945431
...@@ -7316,13 +7316,6 @@ static int ndbcluster_init(void *p) ...@@ -7316,13 +7316,6 @@ static int ndbcluster_init(void *p)
if (ndbcluster_inited) if (ndbcluster_inited)
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
/*
Below we create new THD's. They'll need LOCK_plugin, but it's taken now by
plugin initialization code. Release it to avoid deadlocks. It's safe, as
there're no threads that may concurrently access plugin control structures.
*/
pthread_mutex_unlock(&LOCK_plugin);
pthread_mutex_init(&ndbcluster_mutex,MY_MUTEX_INIT_FAST); pthread_mutex_init(&ndbcluster_mutex,MY_MUTEX_INIT_FAST);
pthread_mutex_init(&LOCK_ndb_util_thread, MY_MUTEX_INIT_FAST); pthread_mutex_init(&LOCK_ndb_util_thread, MY_MUTEX_INIT_FAST);
pthread_cond_init(&COND_ndb_util_thread, NULL); pthread_cond_init(&COND_ndb_util_thread, NULL);
...@@ -7463,8 +7456,6 @@ static int ndbcluster_init(void *p) ...@@ -7463,8 +7456,6 @@ static int ndbcluster_init(void *p)
goto ndbcluster_init_error; goto ndbcluster_init_error;
} }
pthread_mutex_lock(&LOCK_plugin);
ndbcluster_inited= 1; ndbcluster_inited= 1;
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
...@@ -7477,8 +7468,6 @@ static int ndbcluster_init(void *p) ...@@ -7477,8 +7468,6 @@ static int ndbcluster_init(void *p)
g_ndb_cluster_connection= NULL; g_ndb_cluster_connection= NULL;
ndbcluster_hton->state= SHOW_OPTION_DISABLED; // If we couldn't use handler ndbcluster_hton->state= SHOW_OPTION_DISABLED; // If we couldn't use handler
pthread_mutex_lock(&LOCK_plugin);
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
......
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