Browse Source

MDEV-21343 Threadpool/Unix- wait_begin() function does not wake/create threads, when it should

Fixed the condition for waking up/creating another thread.

If there is some work to do (if the request queue is not empty),
a thread should be woken or created.

The condition was incorrect since 18c9b345b4
bb-10.2-MDEV-13569
Vladislav Vaintroub 6 years ago
parent
commit
189fa30085
  1. 2
      sql/threadpool_generic.cc

2
sql/threadpool_generic.cc

@ -1339,7 +1339,7 @@ void wait_begin(thread_group_t *thread_group)
DBUG_ASSERT(thread_group->connection_count > 0);
if ((thread_group->active_thread_count == 0) &&
(is_queue_empty(thread_group) || !thread_group->listener))
(!is_queue_empty(thread_group) || !thread_group->listener))
{
/*
Group might stall while this thread waits, thus wake

Loading…
Cancel
Save