diff -r 65147d2422dc Lib/threading.py --- a/Lib/threading.py Sun Mar 10 03:29:55 2013 +0200 +++ b/Lib/threading.py Sun Mar 10 11:25:22 2013 +0000 @@ -323,6 +323,9 @@ self._cond.release() def wait(self, timeout=None): + if self._flag: + return True + self._cond.acquire() try: signaled = self._flag