MCPcopy Create free account
hub / github.com/catboost/catboost / ReleaseRead

Method ReleaseRead

util/system/rwlock.cpp:73–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

71}
72
73void TRWMutex::TImpl::ReleaseRead() noexcept {
74 Lock_.Acquire();
75
76 if (--State_ > 0) {
77 Lock_.Release();
78 } else if (BlockedWriters_) {
79 Lock_.Release();
80 WriteCond_.Signal();
81 } else {
82 Lock_.Release();
83 }
84}
85
86void TRWMutex::TImpl::AcquireWrite() noexcept {
87 with_lock (Lock_) {

Callers 3

ReleaseMethod · 0.80
RunReadersMethod · 0.80
RunReadersWritersMethod · 0.80

Calls 4

LastSystemErrorTextFunction · 0.70
AcquireMethod · 0.45
ReleaseMethod · 0.45
SignalMethod · 0.45

Tested by

no test coverage detected