diff --git a/src/plugins/remotelinux/genericdirectuploadservice.cpp b/src/plugins/remotelinux/genericdirectuploadservice.cpp index 2bde15cb4f8..4913a1cafaa 100644 --- a/src/plugins/remotelinux/genericdirectuploadservice.cpp +++ b/src/plugins/remotelinux/genericdirectuploadservice.cpp @@ -71,18 +71,6 @@ QList collectFilesToUpload(const DeployableFile &deployable) return collected; } -static Group packIntoOptionalParallelGroups(const QList &tasks) -{ - QList groups; - int i = 0; - while (i < tasks.size()) { - const QList subTasks = tasks.mid(i, MaxConcurrentStatCalls); - i += subTasks.size(); - groups.append(Group { QList {optional, parallel} + subTasks }); - } - return Group { QList {optional} + groups }; -} - } // namespace Internal using namespace Internal; @@ -188,12 +176,12 @@ TaskItem GenericDirectUploadServicePrivate::statTree(const TreeStorage files = filesToStat(storagePtr); - QList statList; + QList statList{optional, ParallelLimit(MaxConcurrentStatCalls)}; for (const DeployableFile &file : std::as_const(files)) { QTC_ASSERT(file.isValid(), continue); statList.append(statTask(storagePtr, file, statEndHandler)); } - tree.setupRoot(packIntoOptionalParallelGroups(statList)); + tree.setupRoot({statList}); }; return Tree(setupHandler); } @@ -273,14 +261,14 @@ TaskItem GenericDirectUploadServicePrivate::chmodTree(const TreeStorage chmodList; + QList chmodList{optional, ParallelLimit(MaxConcurrentStatCalls)}; for (const DeployableFile &file : std::as_const(filesToChmod)) { QTC_ASSERT(file.isValid(), continue); chmodList.append(chmodTask(file)); } - tree.setupRoot(packIntoOptionalParallelGroups(chmodList)); + tree.setupRoot({chmodList}); }; - return Tree {setupChmodHandler}; + return Tree(setupChmodHandler); } Group GenericDirectUploadService::deployRecipe()