Kill running jobs when exiting the GUI

This commit is contained in:
Kovid Goyal 2008-03-04 19:54:21 +00:00
parent 76840c13e4
commit 27261c71ae
2 changed files with 11 additions and 1 deletions

View File

@ -155,6 +155,14 @@ class JobManager(QAbstractTableModel):
if isinstance(job, DeviceJob):
job.terminate()
def terminate_all_jobs(self):
for job in self.running_jobs:
try:
if isinstance(job, DeviceJob):
job.terminate()
self.process_server.kill(job.id)
except:
continue
def timerEvent(self, event):
if event.timerId() == self.timer_id:

View File

@ -987,10 +987,12 @@ class Main(MainWindow, Ui_MainWindow):
if d.exec_() != QMessageBox.Yes:
e.ignore()
return
self.job_manager.terminate_all_jobs()
self.write_settings()
self.detector.keep_going = False
self.hide()
self.detector.wait(2000)
time.sleep(2)
self.detector.terminate()
e.accept()