Fix PKC becoming unresponsive e.g. when switching the PMS

This commit is contained in:
croneter 2019-12-13 07:38:52 +01:00
parent d4d7c0f98c
commit 9182e0ad76
2 changed files with 10 additions and 0 deletions

View file

@ -65,6 +65,7 @@ class App(object):
self.threads.append(thread)
def deregister_fanart_thread(self, thread):
self.fanart_thread.unblock_callers()
self.fanart_thread = None
self.threads.remove(thread)
@ -85,6 +86,7 @@ class App(object):
self.threads.append(thread)
def deregister_caching_thread(self, thread):
self.caching_thread.unblock_callers()
self.caching_thread = None
self.threads.remove(thread)
@ -111,6 +113,7 @@ class App(object):
"""
Sync thread has done it's work and is e.g. about to die
"""
thread.unblock_callers()
self.threads.remove(thread)
def suspend_threads(self, block=True):

View file

@ -106,6 +106,13 @@ class KillableThread(threading.Thread):
"""
return not self._is_not_asleep.is_set()
def unblock_callers(self):
"""
Ensures that any other thread that requested this thread's suspension
is released
"""
self._suspension_reached.set()
class ProcessingQueue(Queue.Queue, object):
"""