diff options
author | elie <elie> | 2013-09-21 11:41:27 +0000 |
---|---|---|
committer | elie <elie> | 2013-09-21 11:41:27 +0000 |
commit | 508cfc3f597fce267aa0fe292822e7c201cbe03b (patch) | |
tree | 559262c3f94cbf3e84d38b4bd165442338a38e94 /examples | |
parent | 83b865fc53f0435a4c5c12a314c416cca1b6b058 (diff) | |
download | pysnmp-508cfc3f597fce267aa0fe292822e7c201cbe03b.tar.gz |
workaround for missing Queue module features at 2.4
Diffstat (limited to 'examples')
-rw-r--r-- | examples/v3arch/oneliner/manager/cmdgen/get-threaded-multiple-transports-and-protocols.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/examples/v3arch/oneliner/manager/cmdgen/get-threaded-multiple-transports-and-protocols.py b/examples/v3arch/oneliner/manager/cmdgen/get-threaded-multiple-transports-and-protocols.py index b49572a..cf066e7 100644 --- a/examples/v3arch/oneliner/manager/cmdgen/get-threaded-multiple-transports-and-protocols.py +++ b/examples/v3arch/oneliner/manager/cmdgen/get-threaded-multiple-transports-and-protocols.py @@ -69,7 +69,8 @@ class Worker(Thread): **{ 'lookupNames': True, 'lookupValues': True } ) ) - self.requests.task_done() + if hasattr(self.requests, 'task_done'): # 2.5+ + self.requests.task_done() class ThreadPool: def __init__(self, num_threads): @@ -83,7 +84,15 @@ class ThreadPool: def getResponses(self): return self.responses - def waitCompletion(self): self.requests.join() + def waitCompletion(self): + if hasattr(self.requests, 'join'): + self.requests.join() # 2.5+ + else: + from time import sleep + # this is a lame substitute for missing .join() + # adding an explicit synchronization might be a better solution + while not self.requests.empty(): + sleep(1) pool = ThreadPool(3) |