Lock.release(): reorder code so assignment to
self.acquired_until is protected by the lock.