MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / lock_shared

Method lock_shared

system/lib/libcxx/src/shared_mutex.cpp:50–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48// Shared ownership
49
50void __shared_mutex_base::lock_shared() {
51 unique_lock<mutex> lk(__mut_);
52 while ((__state_ & __write_entered_) || (__state_ & __n_readers_) == __n_readers_)
53 __gate1_.wait(lk);
54 unsigned num_readers = (__state_ & __n_readers_) + 1;
55 __state_ &= ~__n_readers_;
56 __state_ |= num_readers;
57}
58
59bool __shared_mutex_base::try_lock_shared() {
60 unique_lock<mutex> lk(__mut_);

Callers 2

findFDEMethod · 0.80

Calls 1

waitMethod · 0.45

Tested by

no test coverage detected