summaryrefslogtreecommitdiff
path: root/src/buildstream/_stream.py
diff options
context:
space:
mode:
authorJames Ennis <james.ennis@codethink.co.uk>2019-05-14 11:49:58 +0100
committerJames Ennis <james.ennis@codethink.co.uk>2019-06-07 14:47:16 +0100
commit14514683bad92f9947540784572173036310ce29 (patch)
tree4d148c74710806eb3bbf6e1409787a9352d38b0a /src/buildstream/_stream.py
parent3427cea53ed9f4c6517606fd13abf2d06352f8d2 (diff)
downloadbuildstream-14514683bad92f9947540784572173036310ce29.tar.gz
queue.py: Push-based queues
* Queue.enqueue() and Queue.harvest_jobs() now exhibit push-based behaviour. Although most of the logic from Queue.enqueue() has been moved to Queue._enqueue_element() * QueueStatus.WAIT has been replaced with QueueStatus.PENDING to reflect the new push-based nature of the queues * There now exists a virtual method in Queue: register_pending_element which is used to register am element which is not immediately ready to be processed in the queue with specific callbacks. These callbacks will enqueue the element when called.
Diffstat (limited to 'src/buildstream/_stream.py')
-rw-r--r--src/buildstream/_stream.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py
index 2343c553c..537671679 100644
--- a/src/buildstream/_stream.py
+++ b/src/buildstream/_stream.py
@@ -1180,6 +1180,7 @@ class Stream():
if not (track or self._first_non_track_queue):
self._first_non_track_queue = queue
+ self._first_non_track_queue.set_required_element_check()
# _enqueue_plan()
#