aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/scheduler.hxx
AgeCommit message (Collapse)AuthorFilesLines
2024-10-03Show executed during match target count in match progressBoris Kolpackov1-15/+19
2024-02-26Add ability to request serialization from schedulerBoris Kolpackov1-3/+31
In particular, this can be used to make sure no other recipe is being executed in parallel with the caller.
2023-11-01Add notion of match optionsBoris Kolpackov1-2/+6
Now, when matching a rule, the caller may request a subset of the full functionality of performing an operation on a target. This is achieved with match options.
2023-04-13Various minor generalizations for in-process configure support in bpkgBoris Kolpackov1-0/+3
2023-03-02Replace deprecated std::aligned_storage with alignasBoris Kolpackov1-2/+3
Based on patch by Matthew Krupcale.
2022-12-15Add noexcept to move constructors and move assignment operatorsKaren Arutyunov1-6/+14
2022-05-10Use our own implementation of C++14 threads on MinGWBoris Kolpackov1-12/+10
2022-02-17Add support for cheaply starting parallel scheduler pre-tuned to serialBoris Kolpackov1-3/+15
2021-05-13Rearrange inline function definitions to make MinGW GCC happyBoris Kolpackov1-4/+3
2021-05-13Do lazy allocation of shadow task queuesBoris Kolpackov1-0/+3
2021-05-12Deal with helper thread starvation during phase switchingBoris Kolpackov1-15/+66
The implemented solution entails shadowing old phase queues so that helpers don't pick up old phase tasks and boosting the max_threads count so that we can create more helpers if all the existing ones are stuck in the old phase.
2021-05-12Keep phase locked while working own queueBoris Kolpackov1-0/+14
2021-01-13Make sure we don't work any existing tasks when building in module contextBoris Kolpackov1-4/+24
2020-08-07Add ability to allocate additional active threads to current threadBoris Kolpackov1-1/+70
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-10-25Fix maybe used uninitialized warningBoris Kolpackov1-1/+1
2019-10-23Un-tune scheduler when building build system modulesBoris Kolpackov1-8/+39
2019-08-07Tighten deadlock monitor notification logicBoris Kolpackov1-1/+1
2019-08-07Make deadlock detection loop more robustBoris Kolpackov1-0/+7
2019-08-07Distinguish between internal/external wait deactivation in schedulerBoris Kolpackov1-7/+16
This turns out to be necessary for the deadlock detection to work properly.
2019-08-06Implement general deadlock detection via monitoring threadBoris Kolpackov1-1/+12
2019-07-01Split build system into library and driverBoris Kolpackov1-0/+709