'Release the \'read\' lock.'

def release_read_lock(self):

    self.condition.acquire()
    try:
        self.async -= 1
        if (self.async == 0):
            if (self.current_sync_operation is not None):
                self.condition.notifyAll()
        elif (self.async < 0):
            raise LockError('Synchronizer    error    -    too    many    release_read_locks    called')
        log.debug('%s    released    read    lock', self)
    finally:
        self.condition.release()
