

def wait(self, timeout=None):
    assert self._lock._semlock._is_mine(), 'must acquire() condition before using wait()'
    self._sleeping_count.release()
    count = self._lock._semlock._count()
    for i in xrange(count):
        self._lock.release()
    try:
        self._wait_semaphore.acquire(True, timeout)
    finally:
        self._woken_count.release()
        for i in xrange(count):
            self._lock.acquire()

dataset/ETHPy150Open deanhiller/databus/webapp/play1.3.x/python/Lib/multiprocessing/synchronize.py Condition.wait/original