MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / lock_upgrade

Method lock_upgrade

extern/boost/boost/thread/v2/shared_mutex.hpp:807–814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

805 // Upgrade ownership
806
807 inline void upgrade_mutex::lock_upgrade()
808 {
809 boost::unique_lock<mutex_t> lk(mut_);
810 gate1_.wait(lk, boost::bind(&upgrade_mutex::no_writer_no_upgrader_no_max_readers, boost::ref(*this)));
811 count_t num_readers = (state_ & n_readers_) + 1;
812 state_ &= ~n_readers_;
813 state_ |= upgradable_entered_ | num_readers;
814 }
815
816 inline bool upgrade_mutex::try_lock_upgrade()
817 {

Callers 1

lockFunction · 0.45

Calls 3

bindClass · 0.50
refFunction · 0.50
waitMethod · 0.45

Tested by

no test coverage detected