diff --git a/deluge/core/torrentmanager.py b/deluge/core/torrentmanager.py index 650656059..7173f922d 100644 --- a/deluge/core/torrentmanager.py +++ b/deluge/core/torrentmanager.py @@ -226,7 +226,9 @@ class TorrentManager(component.Component): # torrent_id is removed from it in self.on_alert_torrent_paused() # before we call self.save_resume_data() here. save_resume_data_list = [] - for key in self.torrents.keys(): + for key in self.torrents: + # Stop the status cleanup LoopingCall here + self.torrents[key].prev_status_cleanup_loop.stop() if not self.torrents[key].handle.is_paused(): # We set auto_managed false to prevent lt from resuming the torrent self.torrents[key].handle.auto_managed(False) @@ -546,6 +548,9 @@ class TorrentManager(component.Component): except Exception, e: log.warning("Unable to remove copy torrent file: %s", e) + # Stop the looping call + self.torrents[torrent_id].prev_status_cleanup_loop.stop() + # Remove the torrent from deluge's session try: del self.torrents[torrent_id]