X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fthreadpool.py;h=5b17e3c496c5e99959badedc2c97402a5572eb5d;hb=c166c181bfedc3e467aa9e2e788b155d16b7c19d;hp=41ae34319a1c004155a20217454c97384fa396bf;hpb=dc1606c545145946238aec86045b38b3b14a722f;p=dak.git diff --git a/daklib/threadpool.py b/daklib/threadpool.py index 41ae3431..5b17e3c4 100644 --- a/daklib/threadpool.py +++ b/daklib/threadpool.py @@ -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())