summaryrefslogtreecommitdiff
path: root/distbuild/build_controller.py
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-11 12:13:41 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-02-11 12:53:58 +0000
commitd0143c276f31bf9de26dfbe92d64693cdcbd2014 (patch)
tree809f852a285c704c8a84fef092e60b2a2707a42b /distbuild/build_controller.py
parenta006c418d3cc81d6d4a4353a43133b40486a6610 (diff)
downloadmorph-d0143c276f31bf9de26dfbe92d64693cdcbd2014.tar.gz
distbuild: Fix case where 'computing build graph' would hang forever
If there's no distbuild-helper process running on the controller then the controller would hang forever. This situation is unlikely, but it's important to give the user feedback instead of silently hanging forever.
Diffstat (limited to 'distbuild/build_controller.py')
-rw-r--r--distbuild/build_controller.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/distbuild/build_controller.py b/distbuild/build_controller.py
index cfa0e2e2..8dbbaef9 100644
--- a/distbuild/build_controller.py
+++ b/distbuild/build_controller.py
@@ -246,6 +246,9 @@ class BuildController(distbuild.StateMachine):
def _request_command_execution(self, argv, request_id):
'''Tell the controller's distbuild-helper to run a command.'''
+ if self.mainloop.n_state_machines_of_type(distbuild.HelperRouter) == 0:
+ self.fail('No distbuild-helper process running on controller!')
+
msg = distbuild.message('exec-request',
id=request_id,
argv=argv,