about summary refs log tree commit diff
path: root/src/libutil/thread-pool.hh
AgeCommit message (Collapse)AuthorFilesLines
2017-10-09 Fix a hang in ThreadPoolEelco Dolstra1-3/+6
The worker threads could exit prematurely if they finished processing all items while the main thread was still adding items. In particular, this caused hanging nix-store --serve processes in the build farm. Also, process items from the main thread.
2017-09-08 ThreadPool: On exception, interrupt the other worker threadsEelco Dolstra1-1/+3
2017-09-08 ThreadPool: Improve exception handlingEelco Dolstra1-1/+1
In particular, process() won't return as long as there are active items. This prevents work item lambdas from referring to stack frames that no longer exist.
2017-07-03 processGraph(): Call getEdges in parallelEelco Dolstra1-28/+47
2016-07-21 Fix assertion failure in ThreadPool::enqueue()Eelco Dolstra1-0/+2
2016-04-22 Factor out parallel processing of work items that have dependenciesEelco Dolstra1-0/+60
2016-04-22 ThreadPool: Start doing work as soon as work items are enqueuedEelco Dolstra1-4/+9
2016-03-29 Add "nix verify-paths" commandEelco Dolstra1-0/+52
Unlike "nix-store --verify-path", this command verifies signatures in addition to store path contents, is multi-threaded (especially useful when verifying binary caches), and has a progress indicator. Example use: $ nix verify-paths --store https://cache.nixos.org -r $(type -p thunderbird) ... [17/132 checked] checking ‘/nix/store/rawakphadqrqxr6zri2rmnxh03gqkrl3-autogen-5.18.6’