try to ensure that functions run in the background have "_bg_" in their name
This commit is contained in:
parent
1efa265fc5
commit
ad9f10a9ac
|
@ -76,7 +76,7 @@ class InstallProgressController(BaseController):
|
||||||
self.progress_view.show_complete(True)
|
self.progress_view.show_complete(True)
|
||||||
self.default()
|
self.default()
|
||||||
|
|
||||||
def run_command_logged(self, cmd, env):
|
def _bg_run_command_logged(self, cmd, env):
|
||||||
log.debug("running %s", cmd)
|
log.debug("running %s", cmd)
|
||||||
cmd = ['systemd-cat', '--level-prefix=false', '--identifier=' + self._log_syslog_identifier] + cmd
|
cmd = ['systemd-cat', '--level-prefix=false', '--identifier=' + self._log_syslog_identifier] + cmd
|
||||||
cp = subprocess.run(cmd, env=env)
|
cp = subprocess.run(cmd, env=env)
|
||||||
|
@ -171,7 +171,7 @@ class InstallProgressController(BaseController):
|
||||||
if 'SNAP' in env:
|
if 'SNAP' in env:
|
||||||
del env['SNAP']
|
del env['SNAP']
|
||||||
self.run_in_bg(
|
self.run_in_bg(
|
||||||
lambda: self.run_command_logged(curtin_cmd, env),
|
lambda: self._bg_run_command_logged(curtin_cmd, env),
|
||||||
self.curtin_install_completed)
|
self.curtin_install_completed)
|
||||||
|
|
||||||
def curtin_install_completed(self, fut):
|
def curtin_install_completed(self, fut):
|
||||||
|
|
|
@ -51,7 +51,7 @@ class BackgroundTask:
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError(self.start)
|
raise NotImplementedError(self.start)
|
||||||
|
|
||||||
def run(self):
|
def _bg_run(self):
|
||||||
"""Run the task.
|
"""Run the task.
|
||||||
|
|
||||||
This is called on an arbitrary thread so don't do UI stuff!
|
This is called on an arbitrary thread so don't do UI stuff!
|
||||||
|
@ -89,7 +89,7 @@ class BackgroundProcess(BackgroundTask):
|
||||||
def start(self):
|
def start(self):
|
||||||
self.proc = run_command_start(self.cmd)
|
self.proc = run_command_start(self.cmd)
|
||||||
|
|
||||||
def run(self):
|
def _bg_run(self):
|
||||||
stdout, stderr = self.proc.communicate()
|
stdout, stderr = self.proc.communicate()
|
||||||
return run_command_summarize(self.proc, stdout, stderr)
|
return run_command_summarize(self.proc, stdout, stderr)
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ class PythonSleep(BackgroundTask):
|
||||||
def start(self):
|
def start(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def run(self):
|
def _bg_run(self):
|
||||||
r, _, _ = select.select([self.r], [], [], self.duration)
|
r, _, _ = select.select([self.r], [], [], self.duration)
|
||||||
if not r:
|
if not r:
|
||||||
return True
|
return True
|
||||||
|
@ -156,7 +156,7 @@ class DownNetworkDevices(BackgroundTask):
|
||||||
# We don't actually care very much about this
|
# We don't actually care very much about this
|
||||||
log.exception('unset_link_flags failed for %s', dev.name)
|
log.exception('unset_link_flags failed for %s', dev.name)
|
||||||
|
|
||||||
def run(self):
|
def _bg_run(self):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def end(self, observer, fut):
|
def end(self, observer, fut):
|
||||||
|
@ -186,7 +186,7 @@ class WaitForDefaultRouteTask(BackgroundTask):
|
||||||
self.success_r, self.success_w = os.pipe()
|
self.success_r, self.success_w = os.pipe()
|
||||||
self.event_receiver.add_default_route_waiter(self.got_route)
|
self.event_receiver.add_default_route_waiter(self.got_route)
|
||||||
|
|
||||||
def run(self):
|
def _bg_run(self):
|
||||||
try:
|
try:
|
||||||
r, _, _ = select.select([self.fail_r, self.success_r], [], [], self.timeout)
|
r, _, _ = select.select([self.fail_r, self.success_r], [], [], self.timeout)
|
||||||
return self.success_r in r
|
return self.success_r in r
|
||||||
|
@ -229,7 +229,7 @@ class TaskSequence:
|
||||||
self.tasks = self.tasks[1:]
|
self.tasks = self.tasks[1:]
|
||||||
log.debug('running %s for stage %s', self.curtask, self.stage)
|
log.debug('running %s for stage %s', self.curtask, self.stage)
|
||||||
self.curtask.start()
|
self.curtask.start()
|
||||||
self.run_in_bg(self.curtask.run, lambda fut:self.curtask.end(self, fut))
|
self.run_in_bg(self.curtask._bg_run, lambda fut:self.curtask.end(self, fut))
|
||||||
|
|
||||||
def task_succeeded(self):
|
def task_succeeded(self):
|
||||||
if self.canceled:
|
if self.canceled:
|
||||||
|
|
Loading…
Reference in New Issue