diff options
Diffstat (limited to 'sql/event_scheduler.cc')
-rw-r--r-- | sql/event_scheduler.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sql/event_scheduler.cc b/sql/event_scheduler.cc index 880bccdd67e..411be5a9d20 100644 --- a/sql/event_scheduler.cc +++ b/sql/event_scheduler.cc @@ -158,12 +158,12 @@ deinit_event_thread(THD *thd) DBUG_PRINT("exit", ("Event thread finishing")); pthread_mutex_lock(&LOCK_thread_count); thread_count--; - delete thd; - pthread_cond_broadcast(&COND_thread_count); - pthread_mutex_unlock(&LOCK_thread_count); my_atomic_rwlock_wrlock(&global_query_id_lock); dec_thread_running(); my_atomic_rwlock_wrunlock(&global_query_id_lock); + delete thd; + pthread_cond_broadcast(&COND_thread_count); + pthread_mutex_unlock(&LOCK_thread_count); } @@ -421,12 +421,12 @@ Event_scheduler::start() net_end(&new_thd->net); pthread_mutex_lock(&LOCK_thread_count); thread_count--; - delete new_thd; - pthread_cond_broadcast(&COND_thread_count); - pthread_mutex_unlock(&LOCK_thread_count); my_atomic_rwlock_wrlock(&global_query_id_lock); dec_thread_running(); my_atomic_rwlock_wrunlock(&global_query_id_lock); + delete new_thd; + pthread_cond_broadcast(&COND_thread_count); + pthread_mutex_unlock(&LOCK_thread_count); } end: UNLOCK_DATA(); @@ -556,12 +556,12 @@ error: net_end(&new_thd->net); pthread_mutex_lock(&LOCK_thread_count); thread_count--; - delete new_thd; - pthread_cond_broadcast(&COND_thread_count); - pthread_mutex_unlock(&LOCK_thread_count); my_atomic_rwlock_wrlock(&global_query_id_lock); dec_thread_running(); my_atomic_rwlock_wrunlock(&global_query_id_lock); + delete new_thd; + pthread_cond_broadcast(&COND_thread_count); + pthread_mutex_unlock(&LOCK_thread_count); } delete event_name; DBUG_RETURN(TRUE); |