diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-04-18 19:22:48 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2018-04-18 20:02:25 +0900 |
commit | 268340a56d81ede1bc9377a23a38d426f33e4f1f (patch) | |
tree | 2e66c2b0be36c555647309d227b12f25847d39f5 /buildstream/_frontend | |
parent | 853c54eb5c2251adac80982451a2178b7b7ec4c1 (diff) | |
download | buildstream-268340a56d81ede1bc9377a23a38d426f33e4f1f.tar.gz |
_scheduler/scheduler.py: Adhere to policy on private symbols
Also added Scheduler.jobs_suspended() context manager to
use in the App instead of exposing Scheduler.suspend_jobs()
and Scheduler.resume_jobs() along with signal callback connect
and disconnect APIs, this keeps things more private in the
scheduler.
This is a part of issue #285
Diffstat (limited to 'buildstream/_frontend')
-rw-r--r-- | buildstream/_frontend/app.py | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/buildstream/_frontend/app.py b/buildstream/_frontend/app.py index db9c97b84..f4336956d 100644 --- a/buildstream/_frontend/app.py +++ b/buildstream/_frontend/app.py @@ -778,16 +778,12 @@ class App(): @contextmanager def _interrupted(self): - self.scheduler.disconnect_signals() - self._status.clear() - self.scheduler.suspend_jobs() - - yield - - self._maybe_render_status() - self.scheduler.resume_jobs() - self.scheduler.connect_signals() + try: + with self.scheduler.jobs_suspended(): + yield + finally: + self._maybe_render_status() # Some validation routines for project initialization # |