summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildstream/_stream.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py
index 650202d21..a7db33bb9 100644
--- a/src/buildstream/_stream.py
+++ b/src/buildstream/_stream.py
@@ -961,8 +961,14 @@ class Stream():
# junctions (list of Element): The junctions to fetch
#
def fetch_subprojects(self, junctions):
- for junction in junctions:
- junction._fetch()
+ old_queues = self.queues
+ try:
+ queue = FetchQueue(self._scheduler)
+ queue.enqueue(junctions)
+ self.queues = [queue]
+ self._run()
+ finally:
+ self.queues = old_queues
#############################################################
# Scheduler API forwarding #