From bdafd067b91bcc96c7977d938c0e39fd8f9bdc2a Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Sat, 11 Sep 2010 15:32:50 +0200 Subject: [PATCH] Add an isScheduled method that checks for stuff in the scheduled set while taking a lock --- controller/market.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/controller/market.py b/controller/market.py index 040cb6ce5..e95479919 100644 --- a/controller/market.py +++ b/controller/market.py @@ -60,6 +60,12 @@ class PriceWorkerThread(threading.Thread): self.cv.notify() self.cv.release() + def isScheduled(self, price): + self.cv.acquire() + scheduled = price in self.scheduled + self.cv.release() + return scheduled + class Market(): instance = None FORCED_SHIPS = ("Freki", "Mimir", "Utu", "Adrestia", "Ibis", "Impairor", "Velator", "Reaper") @@ -223,7 +229,7 @@ class Market(): self.priceCache[typeID] = price all.append(price) - if not price.isValid and not price in self.workerThread.scheduled: + if not price.isValid and not self.workerThread.isScheduled(price): fetch.add(price) def dbAdd():