}
// others waiting?
- lock->finish_waiters(SimpleLock::WAIT_WR, 0);
+ lock->finish_waiters(SimpleLock::WAIT_STABLE |
+ SimpleLock::WAIT_WR |
+ SimpleLock::WAIT_RD, 0);
// eval?
if (lock->get_parent()->is_auth())
mdr->xlocks.erase(lock);
mdr->locks.erase(lock);
- lock->finish_waiters(SimpleLock::WAIT_STABLE|SimpleLock::WAIT_WR);
+ lock->finish_waiters(SimpleLock::WAIT_STABLE |
+ SimpleLock::WAIT_WR |
+ SimpleLock::WAIT_RD);
}
assert(lock->get_parent()->is_auth()); // or implement remote xlocks
// others waiting?
- lock->finish_waiters(SimpleLock::WAIT_WR|SimpleLock::WAIT_RD, 0);
+ lock->finish_waiters(SimpeLock::WAIT_STABLE |
+ SimpleLock::WAIT_WR |
+ SimpleLock::WAIT_RD, 0);
if (lock->get_parent()->is_auth())
file_eval(lock);