aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/ui/uievent.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb/ui/uievent.py')
-rw-r--r--lib/bb/ui/uievent.py30
1 files changed, 11 insertions, 19 deletions
diff --git a/lib/bb/ui/uievent.py b/lib/bb/ui/uievent.py
index d595f172a..c2f830d53 100644
--- a/lib/bb/ui/uievent.py
+++ b/lib/bb/ui/uievent.py
@@ -65,35 +65,27 @@ class BBUIEventQueue:
self.server = server
self.t = threading.Thread()
- self.t.setDaemon(True)
+ self.t.daemon = True
self.t.run = self.startCallbackHandler
self.t.start()
def getEvent(self):
-
- self.eventQueueLock.acquire()
-
- if not self.eventQueue:
- self.eventQueueLock.release()
- return None
-
- item = self.eventQueue.pop(0)
-
- if not self.eventQueue:
- self.eventQueueNotify.clear()
-
- self.eventQueueLock.release()
- return item
+ with bb.utils.lock_timeout(self.eventQueueLock):
+ if not self.eventQueue:
+ return None
+ item = self.eventQueue.pop(0)
+ if not self.eventQueue:
+ self.eventQueueNotify.clear()
+ return item
def waitEvent(self, delay):
self.eventQueueNotify.wait(delay)
return self.getEvent()
def queue_event(self, event):
- self.eventQueueLock.acquire()
- self.eventQueue.append(event)
- self.eventQueueNotify.set()
- self.eventQueueLock.release()
+ with bb.utils.lock_timeout(self.eventQueueLock):
+ self.eventQueue.append(event)
+ self.eventQueueNotify.set()
def send_event(self, event):
self.queue_event(pickle.loads(event))