mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Kill running jobs when exiting the GUI
This commit is contained in:
parent
76840c13e4
commit
27261c71ae
@ -155,6 +155,14 @@ class JobManager(QAbstractTableModel):
|
|||||||
if isinstance(job, DeviceJob):
|
if isinstance(job, DeviceJob):
|
||||||
job.terminate()
|
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):
|
def timerEvent(self, event):
|
||||||
if event.timerId() == self.timer_id:
|
if event.timerId() == self.timer_id:
|
||||||
|
@ -987,10 +987,12 @@ class Main(MainWindow, Ui_MainWindow):
|
|||||||
if d.exec_() != QMessageBox.Yes:
|
if d.exec_() != QMessageBox.Yes:
|
||||||
e.ignore()
|
e.ignore()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
self.job_manager.terminate_all_jobs()
|
||||||
self.write_settings()
|
self.write_settings()
|
||||||
self.detector.keep_going = False
|
self.detector.keep_going = False
|
||||||
self.hide()
|
self.hide()
|
||||||
self.detector.wait(2000)
|
time.sleep(2)
|
||||||
self.detector.terminate()
|
self.detector.terminate()
|
||||||
e.accept()
|
e.accept()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user