]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/threadpool.py
introduce defaultThreadCount
[dak.git] / daklib / threadpool.py
index 41ae34319a1c004155a20217454c97384fa396bf..5b17e3c496c5e99959badedc2c97402a5572eb5d 100644 (file)
@@ -15,6 +15,11 @@ except NameError:
     False = 0
     True = not False
 
+if Config().has_key('Common::ThreadCount'):
+    defaultThreadCount = int(Config()['Common::ThreadCount'])
+else:
+    defaultThreadCount = 1
+
 class ThreadPool:
 
     """Flexible thread pool class.  Creates a pool of threads, then
@@ -22,10 +27,13 @@ class ThreadPool:
     The argument numThreads defaults to 'Common::ThreadCount' which must
     be specified in dak.conf."""
 
-    def __init__(self, numThreads = Config()['Common::ThreadCount']):
+    def __init__(self, numThreads = 0):
 
         """Initialize the thread pool with numThreads workers."""
 
+        if numThreads == 0:
+            numThreads = defaultThreadCount
+
         self.__threads = []
         self.__resizeLock = threading.Condition(threading.Lock())
         self.__taskLock = threading.Condition(threading.Lock())