summaryrefslogtreecommitdiff
path: root/src/common/threadpool.cpp
Commit message (Collapse)AuthorAgeFilesLines
* threadpool: catch exceptions in dtor, to avoid terminatemoneromooo-monero2018-02-021-0/+18
| | | | | | | | | | If an exception is thrown, it is ignored. While this may hide a bug, this should only be system exceptions in boost, which is pretty unlikely. Morever, wait should be called manually before the dtor anyway. Add an error message if the dtor has to wait in case some such cases creep in so they get fixed. Coverity 182538
* Readd copyright starting datexmr-eric2018-01-261-1/+1
|
* Update 2018 copyrightxmr-eric2018-01-261-1/+1
|
* threadpool: fix deadlock in recursive waiter usagemoneromooo-monero2017-12-231-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.
* Use max_concurrency as-isHoward Chu2017-11-021-2/+2
| | | | Don't try to 2nd guess user
* Tweak concurrency limitsHoward Chu2017-09-151-1/+5
| | | | Create capacity for 2x max, but lie about it
* Use a threadpoolHoward Chu2017-09-141-0/+113
Instead of constantly creating and destroying threads