aboutsummaryrefslogtreecommitdiff
path: root/src/common/threadpool.cpp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-12-23threadpool: fix deadlock in recursive waiter usagemoneromooo-monero1-1/+7
If a queued job uses a waiter, then we want to run that waiter's jobs in the current thread if all threads are busy, even if the queue is empty, since there is no guarantee that any thread will free up to take care of that new job, since all the threads might be running a job which spawns such a recursive job and will block till that recursive job is done, which it will never be since it relies on the queue being polled by one of those blocked threads.
2017-11-02Use max_concurrency as-isHoward Chu1-2/+2
Don't try to 2nd guess user
2017-09-15Tweak concurrency limitsHoward Chu1-1/+5
Create capacity for 2x max, but lie about it
2017-09-14Use a threadpoolHoward Chu1-0/+113
Instead of constantly creating and destroying threads