s->value->assign(v.data(), v.size());
}
if (s->inplace_update_support) {
- s->mem->GetLock(s->key->user_key())->Unlock();
+ s->mem->GetLock(s->key->user_key())->ReadUnlock();
}
*(s->found_final_value) = true;
return false;
void RWMutex::WriteLock() { PthreadCall("write lock", pthread_rwlock_wrlock(&mu_)); }
-void RWMutex::Unlock() { PthreadCall("unlock", pthread_rwlock_unlock(&mu_)); }
+void RWMutex::ReadUnlock() { PthreadCall("read unlock", pthread_rwlock_unlock(&mu_)); }
+
+void RWMutex::WriteUnlock() { PthreadCall("write unlock", pthread_rwlock_unlock(&mu_)); }
void InitOnce(OnceType* once, void (*initializer)()) {
PthreadCall("once", pthread_once(once, initializer));
void ReadLock();
void WriteLock();
- void Unlock();
+ void ReadUnlock();
+ void WriteUnlock();
void AssertHeld() { }
private:
explicit ReadLock(port::RWMutex *mu) : mu_(mu) {
this->mu_->ReadLock();
}
- ~ReadLock() { this->mu_->Unlock(); }
+ ~ReadLock() { this->mu_->ReadUnlock(); }
private:
port::RWMutex *const mu_;
explicit WriteLock(port::RWMutex *mu) : mu_(mu) {
this->mu_->WriteLock();
}
- ~WriteLock() { this->mu_->Unlock(); }
+ ~WriteLock() { this->mu_->WriteUnlock(); }
private:
port::RWMutex *const mu_;
bucket.reset(new Bucket(*bucket_)); // make a copy
}
VectorRep::Iterator iter(vector_rep, immutable_ ? bucket_ : bucket, compare_);
- rwlock_.Unlock();
+ rwlock_.ReadUnlock();
for (iter.Seek(k.user_key(), k.memtable_key().data());
iter.Valid() && callback_func(callback_args, iter.key()); iter.Next()) {