Condition.wait() without a timeout will never raise a KeyboardInterrupt:
cond = threading.Condition()
cond.acquire()
cond.wait()
*** Pressing Ctrl-C now does nothing ***
If you pass a timeout to Condition.wait(), however, it does behave as expected:
cond.wait()
^CTraceback (most recent call last):
File "/usr/lib/python3.1/threading.py", line 242, in wait
_sleep(delay)
KeyboardInterrupt
This may affect other problems reported with multiprocessing pools. Most notably:
http://bugs.python.org/issue8296
http://stackoverflow.com/questions/1408356 |