Make threads_limited counter accurate
In pool_herder(), we do as much work as possible outside the pool mutex. In particular, we check if we need to breed more threads, then we do more checks, and finally we aquire the lock and either go sleep or increase the threads_limited counter if, at that point, lqueue is non-zero. Yet it could have increased since we last checked, and there is nothing wrong with that, we will breed a new thread in the next iteration of the loop. Increase threads_limited only if we would not bread a new thread right away. Fixes #3531
Showing
Please register or sign in to comment