Skip to content

Commit bb8026e

Browse files
committed
Wait for preload creation independently of others
TaskGroup cancels the creation of other preloaded disposables in case any fails to preload. For: QubesOS/qubes-issues#10230 For: QubesOS/qubes-issues#1512
1 parent 276bed7 commit bb8026e

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

qubes/vm/mix/dvmtemplate.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -493,11 +493,12 @@ async def on_domain_preload_dispvm_used(
493493
return
494494

495495
self.log.info("Preloading '%d' qube(s)", can_preload)
496-
async with asyncio.TaskGroup() as task_group:
497-
for _ in range(can_preload):
498-
task_group.create_task(
499-
qubes.vm.dispvm.DispVM.from_appvm(self, preload=True)
500-
)
496+
await asyncio.gather(
497+
*[
498+
qubes.vm.dispvm.DispVM.from_appvm(self, preload=True)
499+
for _ in range(can_preload)
500+
]
501+
)
501502

502503
def get_feat_preload_threshold(self) -> int:
503504
"""

0 commit comments

Comments
 (0)