'Acquire the \'read\' lock.'

def acquire_read_lock(self, wait=True):

    self.condition.acquire()
    try:
        if wait:
            while (self.current_sync_operation is not None):
                self.condition.wait()
        elif (self.current_sync_operation is not None):
            return False
        self.async += 1
        log.debug('%s    acquired    read    lock', self)
    finally:
        self.condition.release()
    if (not wait):
        return True
