| 766 | |
| 767 | |
| 768 | void ProcessList::killAllQueries() |
| 769 | { |
| 770 | std::vector<QueryStatusPtr> cancelled_processes; |
| 771 | |
| 772 | SCOPE_EXIT({ |
| 773 | LockAndBlocker lock(mutex); |
| 774 | for (auto & cancelled_process : cancelled_processes) |
| 775 | cancelled_process->is_cancelling = false; |
| 776 | cancelled_cv.notify_all(); |
| 777 | }); |
| 778 | |
| 779 | { |
| 780 | LockAndBlocker lock(mutex); |
| 781 | cancelled_processes.reserve(processes.size()); |
| 782 | for (auto & process : processes) |
| 783 | { |
| 784 | cancelled_processes.push_back(process); |
| 785 | process->is_cancelling = true; |
| 786 | } |
| 787 | } |
| 788 | |
| 789 | for (auto & cancelled_process : cancelled_processes) |
| 790 | cancelled_process->cancelQuery(CancelReason::CANCELLED_BY_USER); |
| 791 | |
| 792 | } |
| 793 | |
| 794 | bool QueryStatus::updateProgressIn(const Progress & value) |
| 795 | { |
no test coverage detected