summaryrefslogtreecommitdiff
path: root/distbuild/worker_build_scheduler.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2014-04-14 11:20:02 +0300
committerSam Thursfield <sam.thursfield@codethink.co.uk>2014-04-14 11:20:02 +0300
commit0baae51e217f4999c1f068c458527d598284ddec (patch)
tree6b13cf44af03a1870fb730a3fa4825fc552df397 /distbuild/worker_build_scheduler.py
parent63f7346990802f01ef76cba75495f6f7d1409028 (diff)
parentf05022d39b530069a75fbecfd744bca66cc0ce66 (diff)
downloadmorph-0baae51e217f4999c1f068c458527d598284ddec.tar.gz
Merge branch 'sam/distbuild-concurrency-fixes'
Reviewed-By: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
Diffstat (limited to 'distbuild/worker_build_scheduler.py')
-rw-r--r--distbuild/worker_build_scheduler.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/distbuild/worker_build_scheduler.py b/distbuild/worker_build_scheduler.py
index 5ec7c9aa..f17a4cf4 100644
--- a/distbuild/worker_build_scheduler.py
+++ b/distbuild/worker_build_scheduler.py
@@ -127,6 +127,7 @@ class WorkerBuildQueuer(distbuild.StateMachine):
self._available_workers = []
spec = [
+ # state, source, event_class, new_state, callback
('idle', WorkerBuildQueuer, WorkerBuildRequest, 'idle',
self._handle_request),
('idle', WorkerBuildQueuer, WorkerCancelPending, 'idle',
@@ -210,6 +211,7 @@ class WorkerConnection(distbuild.StateMachine):
self.mainloop.add_state_machine(self._jm)
spec = [
+ # state, source, event_class, new_state, callback
('idle', self._jm, distbuild.JsonEof, None, self._reconnect),
('idle', self, _HaveAJob, 'building', self._start_build),
@@ -224,7 +226,7 @@ class WorkerConnection(distbuild.StateMachine):
self._request_caching),
('caching', distbuild.HelperRouter, distbuild.HelperResult,
- 'caching', self._handle_helper_result),
+ 'caching', self._maybe_handle_helper_result),
('caching', self, _Cached, 'idle', self._request_job),
('caching', self, _JobFailed, 'idle', self._request_job),
]
@@ -372,7 +374,7 @@ class WorkerConnection(distbuild.StateMachine):
self._initiator_id = None
self._finished_msg = event.msg
- def _handle_helper_result(self, event_source, event):
+ def _maybe_handle_helper_result(self, event_source, event):
if event.msg['id'] == self._helper_id:
distbuild.crash_point()